Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 98,989
» Latest member: 789clubsicu
» Forum threads: 2,426
» Forum posts: 11,371

Full Statistics

Online Users
There are currently 744 online users.
» 3 Member(s) | 737 Guest(s)
Applebot, Baidu, Bing, Google, 789clubsicu, jltencom, rlebeau

Latest Threads
WebApplication.IP change ...
Forum: IntraWeb General Discussion
Last Post: MJS@mjs.us
09-11-2026, 09:49 PM
» Replies: 1
» Views: 312
Hook/callback to handle t...
Forum: IntraWeb General Discussion
Last Post: Lenfors
09-08-2026, 09:03 AM
» Replies: 0
» Views: 244
Reproducible IIS crash in...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
09-08-2026, 01:48 AM
» Replies: 0
» Views: 266
The packages IW16.xx inc...
Forum: IntraWeb General Discussion
Last Post: hsbelli
09-03-2026, 11:46 AM
» Replies: 2
» Views: 575
Redirection issues with F...
Forum: IntraWeb General Discussion
Last Post: magosk
08-31-2026, 10:03 AM
» Replies: 0
» Views: 318
Source Code
Forum: IntraWeb General Discussion
Last Post: magosk
08-31-2026, 08:11 AM
» Replies: 3
» Views: 740
TContenthandler requires ...
Forum: IntraWeb General Discussion
Last Post: valmeras
08-30-2026, 02:35 AM
» Replies: 0
» Views: 290
TIWjQDBGrid erratic behav...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
08-20-2026, 05:12 PM
» Replies: 8
» Views: 2,394
Change Language DataTable
Forum: IntraWeb General Discussion
Last Post: Rigoberto Mercedes
08-19-2026, 03:21 PM
» Replies: 1
» Views: 433
How to terminate HTTP Thr...
Forum: Indy
Last Post: rlebeau
08-14-2026, 08:01 AM
» Replies: 5
» Views: 1,097

 
  Read HTTP Header Field "Host"
Posted by: RosenbergFans - 11-05-2019, 08:37 AM - Forum: IntraWeb General Discussion - Replies (5)

Hi,

we have an Intraweb Site (standalone application) where we would like to use TLS (HTTPS) encryption. We are planning to use two domains which will point to the same IP. The Intraweb application should react differently depending from which domain the request is coming (show different pages and use different certification files since certificates are depending on domain?)
I was told to use the HTTP Header Field "Host". How can I read this header field in Intraweb?

Print this item

  using a url instead of 127.1.1.1:1975
Posted by: tinygoldwing - 11-05-2019, 03:47 AM - Forum: IntraWeb General Discussion - Replies (6)

I have a IW15 app that I've used for years and it runs as a service.  My current regular webpage has a button that fowards to the apps address.  All that is fine.  When it starts the url in the browser is http\ourip:port  if I do it internally i would type in:  http:\127.1.1.1:1975.  Is there a way to mask the address to something that looks like a regular url.

Is there a way I can mask the ip:port with something that looks like a real.  myapp.com

I've have tried to find a way to do this but I'm not an internet person.  I'm lost and I know there must be someway of doing it.


Thank You,

Ed Brazell

Print this item

  activation Intraweb 14
Posted by: labchara - 11-04-2019, 12:22 PM - Forum: IntraWeb General Discussion - Replies (3)

Hello
I am trying to install Intraweb on my Delphi Community Edition.
I need a license number to register.
Do I have to buy a license to activate it?
thank you very much

Print this item

  get url params 15.1.5
Posted by: MrSpock - 11-03-2019, 12:08 PM - Forum: IntraWeb General Discussion - Replies (3)

intraweb 15.1.5
I have had no luck getting a session url params in serverController-onGetMainForm
so I cannot change main form according to an identified param like http://url/?test

Print this item

  OSC commands with numbers
Posted by: davidbaxter - 11-01-2019, 03:04 PM - Forum: Indy - Replies (3)

Trying to use Indy to send OSC (open sound control) messages to a Behringer X32 mixer. If the message is just text, it works fine. The issue is a message of the format "/ch/01/mix/fader ,f .3". The .3 needs to be sent as 4 bytes. What needs to go out is "3E 99 99 9A". What the idudpclient sends is "3E 3F 3F 3F". The same problem exists for .4 (3E CC CC CD vs. 3E 3F 3F 3F). Once you get to .5 and greater, things work again because the second byte is smaller. e.g. .5 = 3F 00 00 00 > 3F 00 00 00, .6 = 3F 19 99 9A > 3F 19 3F 3F).

I'm using Indy 10 and Delphi Rio. Here is the sending subroutine. I've commented out several different approaches, all of which give the same result.

procedure TCPForm1.OSCSendMsg;
var
  OutValueStr: String;
  I: Integer;
  J: Tbytes;
  B1: TIdbytes;
begin
  If Length(CommandStr) > 0 then begin
    OscCommandStr := PadStr(CommandStr);        //convert CommandStr to OSC string
    If TypeStr='' then OscCommandStr := OscCommandStr+','+#0+#0+#0;
    If Length(TypeStr) = 1 then begin
      If TypeStr='i' then Begin    // Parameter is an integer
              I := swapendian(IValue);              //change to big endian
              OscCommandStr := OscCommandStr+','+TypeStr+#0+#0+IntToCharStr(I);
              OutValueStr  := IntToStr(IValue);
            end;
      If TypeStr='f' then Begin    // Parameter is a float (real)
              I := swapendian(PInteger(@FValue)^);  //typecast & change to big endian
              //I := htonl(PInteger(@FValue)^);  //typecast & change to big endian
              //J := MakeOSCFloat(FValue);
              OscCommandStr := OscCommandStr+','+TypeStr+#0+#0+IntToCharStr(I);
              //OscCommandStr := OscCommandStr+','+TypeStr+#0+#0+char(J[0])+char(J[1])+char(J[2])+char(J[3]);
              OutValueStr  := FloatToStr(FValue);
            end;
    end;
  //IdUDPClient2.Send(OSCCommandStr,IndyTextEncoding_UTF8);
  //IdUDPClient2.Send(OSCCommandStr);
  B1 := toBytes(OSCCommandStr);
  IdUDPClient2.SendBuffer(B1);
  if loglevel>0 then logwrite('OSC= '+ hexstr(OSCCommandStr));
  Wait(UDPtime);
//  if loglevel>0 then logwrite('OSC '+ OSCCommandStr);
  end;
end;


function  TCPForm1.IntToCharStr(I : Integer) : String;
var
  CharStr : String;
  MyArray: array [0..3] of Byte;
  J: Integer;
begin
  For J :=0 to 3 do MyArray[J] := 0;
  Move(I, MyArray, 4);  //typeset conversion from integer to array of byte
  CharStr := '';
  For J :=0 to 3 do    //convert array of byte to string
    CharStr := CharStr+char(MyArray[J]);
  IntToCharStr := CharStr;
end;


Any insight you can share would be welcome. Thank you.
..Dave

Print this item

  Distinct PC Users using IW App
Posted by: cprmlao@hotmail.com - 11-01-2019, 11:32 AM - Forum: IntraWeb General Discussion - Replies (4)

Hi, I need to do a license control in IW app.
Is there a way to know how many distinct PC users are using the IW app.
If the amount is greater than a limit, I´d like to disable access.

Any others ideas are appreciated.

Regards,
Luiz

Print this item

  IW 15.1.7 error during installation
Posted by: aimpera - 10-31-2019, 04:07 PM - Forum: IntraWeb General Discussion - Replies (7)

Hi,
IW installer (iw15.1.7.exe) after validating license step, excepts a "download error":


Quote:Sorry, the files could not be downloaded. Click 'Retry' to try downloading the files again, or click 'Cancel' to terminate setup.


Can you check?

Best Regards, Alfredo.

Edit:
Installing *ONLY* Intraweb (no Bootstrap no FASTMM etc) works...

Print this item

  ssl mixed content error intraweb 15.1.5
Posted by: PDSBILL - 10-31-2019, 02:44 PM - Forum: IntraWeb General Discussion - Replies (11)

I have a program that runs properly under delphi 10.3 using intraweb 15.0.17 as isapi dll
same program built using delphi 10.3.2 using intraweb 10.1.5 has following error

Mixed Content: The page at 'https://cdpservices.company.com/webppreviewer_DEV/' was loaded over HTTPS, but requested an insecure resource 'http://10.10.250.38/webPPReviewer_DEV/ppwebreviewer.dll/q19he8KSL-L7KEbcSSt18o6hYSq/'. This request has been blocked; the content must be served over HTTPS.

The iis server it runs on does not have ip address 10.10.250.38. I cannot find any machine that has this ip address

The first page of my app comes up, but when I attempt to go to the 2nd page is when I get the error.
I am assuming that the http://10.10.250.38  should be 'https://cdpservices.company.com' but cannot find any place to set the value.


Thank you for any help.

Print this item

  IW 15.1.7 handlers randomic problem
Posted by: cprmlao@hotmail.com - 10-30-2019, 05:14 AM - Forum: IntraWeb General Discussion - Replies (2)

With IW 15.1.17

I have a handler, a Form using a Html TemplateForm  and a JS code used in document.ready().

I have in my app many handlers.

In the local network and with amazon EC2 I am using WIFI with my home router. I am not using  internet provider from mobile.

I am having randomic "404 error" with "resource not found" when using the app with the chrome browser in my mobile and Amazon EC2 Server.

Sometimes the Handler works, other times doesn´t work. When I tried debug I see it is trowing an error of  "404 - resource not found", randomically.


If I use the Chrome Desktop or my mobile with chrome  connected with IW server installed  in a PC  in the local network, there is no problem.

If I use the Chrome Desktop connected with IW server installed  in Amazon EC2 , I have no problem.

The  problem  only occur when  using chrome browser of my cell phone and  IW server in Amazon EC2.

I have noted that the problem happens when I use the crome browser of my mobile. If I use the default browser of my mobile there is no problem.
I have Android Oreo in the mobile and it is a recent Cell phone. So Chrome os updated in version 78.0.3904.62
What can be causing it?

//IW Handler

Code:
function TContentAgenda.Execute(aRequest: THttpRequest; aReply: THttpReply;
  const aPathname: string; aSession: TIWApplication;
  aParams: TStrings): boolean;
var
  jso,js:TJsonObject;
  ja:TjsonArray;
begin
  Result:=True;
  js:=TJSonObject.Create;
  ja:=TjsonArray.Create;
  try
    with Controller.DM.FDQQuery do begin
      Close;
      SQL.Clear;
      SQL.Add('Select A.* from TableTeste');
      .....
  js.AddPair('draw',TJSONString.Create(_draw));
      js.AddPair('recordsTotal',TJSONString.Create(....));
      js.AddPair('recordsFiltered',TJSONString.Create(....));
      js.AddPair('data',ja);
      wresult:=js.toJson;
Close;
  finally
    js.Free;
  end;
  aReply.WriteString(wresult);
end;

//JS code in html Template Form

Code:
<script>
  $(document).ready(function () {
    function listaAgenda() {
      let params = {
        data_inicial: moment().format('DD/MM/YYYY'),
        data_final: moment().add(1, 'days').format('DD/MM/YYYY'),
        med_ag: $('#IWUSU').val() || ''
      };
      //encodeURI
      $.ajax('/GetAgenda?' + encodeURI($.param(params)))
        .done(resp => {
          let out = JSON.parse(resp);
          let context = { qtde: out.recordsFiltered, items: out.data };
          context.hasItems = (parseInt(context.qtde, 10) > 0);
          let html = template_agenda_script(context);
          $("#id_agenda_menu").html(html);
        }).fail(erro => {
          alert(JSON.stringify(erro))
        })
    };
    listaAgenda()
  })
</script>

Print this item

  My complete steps for setting up IW SSL app, using http.sys
Posted by: chiswilson - 10-29-2019, 07:24 PM - Forum: IntraWeb General Discussion - Replies (1)

My Steps for getting IW SSL application working (using http.sys)

I recently updated to IW 15 Ultimate, for the purposes of transitioning my app to SSL.  It was actually easier than I expected.  After reading many posts in the forums, especially some helpful ones from Jose Nilton Pace, as well as Daniel, I decided to go with using http.sys, instead of the usual Indy version.  From what I can tell, it was a good decision, and easier.

(as an aside - I really think AtoZed should provide definitive instructions, for doing this with their software.  Someone else recently asked for official AtoZed instructions for this, in the forums, and the AtoZed response was to go read threads and posts that their other *customers* had written.  The end result is, to learn how to do something new, you have to go searching and reading dozens of scattered posts and tidbits here and there, some old, some new, some accurate and some not, from other customers on this forum and users around the ’net.
Would make a lot more sense if there was a central help document, written and sanctioned by AtoZed.
All that being said — Im still very appreciative of AtoZed for making all this *work*! …)


MY DETAILS:
IW version:  IW15 Ultimate  (I currently have v 15.1.7)
IW application type:  Standalone, HTTP.SYS
Delphi IDE:  Delphi 2010
Hosting server:  Windows Server 2012 R2
IIS version (only used for installing certificate):  IIS 8


GENERATE YOUR CSR  (certificate request)
On your server, start IIS Manager.  (Only use IIS for dealing with certificate; after that, you don't need it.)
Go into ‘Server Certificates’.
On the right, click ‘Create Certificate request’, and fill out the required info.  For Common name, you’ll need to put the exact domain name that will be used for accessing your application.  Mine was: weblogin.mydomain.com.  
For Cryptographic service, use: Microsoft RSA SChannel…   For bit length, use: 2048
Then specify a filename for your CSR and save it.


GET YOUR SSL CERTIFICATE
You can get certificates from many places, including a free one from LetsEncrypt.  I used SSL.com and just got their most basic certificate which is about $40-$45 USD or so per year, depending on how many years you buy it for.  After that, I think you just have to renew it, once per year or so.
During the purchase process, they’ll ask you to input the CSR you generated in the above step, so you can simply cut and paste the contents of the CSR.
SSL.com will also need to validate that you are in fact the owner of the domain for the certificate; there are several methods of doing this.  I chose to simply have them send an email to me at admin@mydomain.com, which has a special link in it, which you use to confirm you received the email and therefore that you have control over the domain name.   Somewhere in this process, you also specify which type of server you’re using, so that they can give you the appropriate type of certificate.  Obviously the server type is IIS.
At the end, they will email you the certificate bundle, which contains a zip file, which contains the certificate as a .p7b file.  You can also download the certificate from their site, in other formats if needed.

Upload your certificate (.p7b file) to your server.
Then go back into IIS Manager on your server, go back into Server Certificates, and on the right click ‘Complete certificate request’.  Select the .p7b file that you just recently uploaded.  If you use the Open dialog, it seems to be looking for a *.cer file, but I simply changed it to *.* and selected my .p7b file.  Give it a friendly name, leave certificate store set to ‘personal’, and click OK.  It should then add your Cert to the list.
You are now DONE with IIS, so close it out.


BIND YOUR CERTIFICATE TO YOUR PORT NUMBER
Start Powershell.  I think you need it running as Administrator.  You can simply start a command prompt, then type:  powershell.
Type:
dir cert:\localmachine\my
It should list your certificate, and its Thumbprint.

Then run this powershell code, substituting your own thumbprint:

Code:
$guid = [guid]::NewGuid()
$certHash = “89C38E9AD6455F9A8782DD29CE089074C57311ED”  #  <— Put in your own Thumbprint here!
"http add sslcert ipport=0.0.0.0:443 certhash=$certHash appid={$guid} certstore=my" | netsh
To be able to copy-and-paste within the powershell window (so you can copy and paste your thumbprint)… on the command prompt window menu, choose Properties / Options and enable the ‘Quick edit mode’.
Also, if you want a DIFFERENT port number than 443, then obviously change that in the above code.  I used 443, as it is the default port for HTTPS.
Running that code should add your binding.
To verify, you can then type:   “http show sslcert” | netsh

…and it should show your binding listing.
Also, if using a firewall, don't forget to allow traffic on port 443, or whatever port you wanna use.


THEN IN DELPHI…

In your project file, change:
IWStart  —>   IWStartHsys
TIWStart.execute(false)   —>   TIWStartHsys.execute(false)    (the false means its gonna be a service; set to true for a GUI)

On your servercontroller, set:
SSLOptions -> port  to 443, or whatever port you wanna use
SSLOptions -> NonSSLrequest  to NsRedirect   (assuming you want to force everything to HTTPS)

Thats about all I did, and it worked.  There are some other settings on the serverController you can tweak if needed, but I haven’t monkeyed with those yet.
For local development and testing, where you probably don't have a certificate, you can of course use some compiler conditionals (or other means) to easily switch back and forth between local devel mode (non ssl)  and server mode (ssl).
Thats all folks.  Hope this helps.

Print this item