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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 96,197
» Latest member: jw88anet1
» Forum threads: 2,423
» Forum posts: 11,367

Full Statistics

Online Users
There are currently 1074 online users.
» 2 Member(s) | 1069 Guest(s)
Applebot, Bing, Google, jw88anet1, vb88zcom

Latest Threads
The packages IW16.xx inc...
Forum: IntraWeb General Discussion
Last Post: hsbelli
09-03-2026, 11:46 AM
» Replies: 2
» Views: 255
Redirection issues with F...
Forum: IntraWeb General Discussion
Last Post: magosk
08-31-2026, 10:03 AM
» Replies: 0
» Views: 110
Source Code
Forum: IntraWeb General Discussion
Last Post: magosk
08-31-2026, 08:11 AM
» Replies: 3
» Views: 436
TContenthandler requires ...
Forum: IntraWeb General Discussion
Last Post: valmeras
08-30-2026, 02:35 AM
» Replies: 0
» Views: 114
TIWjQDBGrid erratic behav...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
08-20-2026, 05:12 PM
» Replies: 8
» Views: 1,932
Change Language DataTable
Forum: IntraWeb General Discussion
Last Post: Rigoberto Mercedes
08-19-2026, 03:21 PM
» Replies: 1
» Views: 260
How to terminate HTTP Thr...
Forum: Indy
Last Post: rlebeau
08-14-2026, 08:01 AM
» Replies: 5
» Views: 788
Looking for UI Design Tip...
Forum: Delphi General Discussion
Last Post: chrisjordon232
08-06-2026, 05:17 AM
» Replies: 0
» Views: 297
TIWjQDBGrid DateFormat
Forum: IntraWeb General Discussion
Last Post: brushbuny
08-05-2026, 03:31 AM
» Replies: 2
» Views: 1,700
Simply convert PeerIp to ...
Forum: Indy
Last Post: DidierMenant
08-04-2026, 03:50 PM
» Replies: 2
» Views: 433

 
  Redirection issues with FireFox in latest IntraWeb version
Posted by: magosk - 08-31-2026, 10:03 AM - Forum: IntraWeb General Discussion - No Replies

I am in the process of migrating our main web application from IW 15.2.49 (our current production version) to 16.2.4. When trying to test the web application (built with the latest IW version) with FireFox, I have run into several issues that might be closely related. To the FireFox user, the symptom is that the (next or updated) page never is loaded, you just see the spinner on the (current page) for a long time until it eventually times out with the error message NS_ERROR_NET_EMPTY_RESPONSE . For Chrome and Edge I see no issues. A setting that might be of importance here is that we run with AllowMultipleSessionsPerUser=True (for security reasons, if a tab for a user serssion is closed without making a logout, it should not be possible to reopen the same session).

The first issue is when we apply a security feature on our login page in order to change the response to a redirect when we do a POST when the user has entered senstive information. If I recall correctly it was suggested by you when discussing a finding from a customer penetration test. We call a helper procedure ChangeResponseCodeFromOKToRedirectAndStayInSession which calls another procedure like this:

Code:
ChangeResponseCodeFromOKToRedirect(WebApplication.Request.Referer);

The second procedure looks like this:

Code:
procedure ChangeResponseCodeFromOKToRedirect(const URL: string);
begin
  if (WebApplication.Response.Code < 301) or (WebApplication.Response.Code > 303) then
    WebApplication.Response.Code := 302;
  if WebApplication.Response.Headers.IndexOfName('Location') < 0 then
    WebApplication.Response.AddHeader('Location', URL);
end;

Based on AI suggestions, I changed the response code to 303, which seemed to bypass this first FF issues (and still work in Chrome ande Edge). Is this a sensible modification in your opinion?

The second issue comes in the next step in the login process where we after successful authentication change the session ID (also for security reasons). We do this by calling

Code:
WebApplication.ResetApplicationID;

Again, this was a method added by you as a result of discussing penetration test findings. FF hangs as described above after this is called. I have experimented with workarounds but so far found no other than actually skipping this step when WebApplication.Browser is TFireFox. Do you have a sugegstion for another workaround that would actually change the session ID? Or is this something that should be fixed in the IntraWeb code for an upcoming release?

The third issue is when the user clicks Logout in the menu of our web application. Our code determines a logout page URL (which could be a static HTML page hosted by the web application) and then calls WebApplication.TerminateAndRedirect to this URL. Same issue, FF hangs. Based on AI suggestions, I wrote the following workaround:

Code:
  if WebApplication.Browser is TFireFox then
  begin
    ReportStandardEventToLogCentral(letHint, 'Using ExecuteJS to redirect to the logout page due to Firefox/IW16 issue,'
      + ' session will not actually be terminated until timeout but Logout will be called to finalize our own resources.');
    Logout();
    WebApplication.ExecuteJS('window.location.replace("' + LogoutURL + '")');
  end
  else
    WebApplication.TerminateAndRedirect(LogoutURL);

Is there a better workaround that actually terminates the session immediately? Or should the IntraWeb code for WebApplication.TerminateAndRedirect be fixed?

Best regards

Magnus Oskarsson

Print this item

  TContenthandler requires cookies to be activated in the browser (Priority Support)
Posted by: valmeras - 08-30-2026, 02:35 AM - Forum: IntraWeb General Discussion - No Replies

I am using Intraweb 16.2.4 with Rad Studio Athens (C++ Builder)

I created  a TContentHandler which is supposed to send a HTTP response 204 to the server sending the POST request:

THandlers::Add("", "myhandler", new MyTContentBase());
The POST Url is https://www.mydomain.com/myhandler

If I test it with Rad Studio REST Debugger, I get the expected response sent by my TContentHandler: 204 (nothing to be returned)
But when the server (a Twilio Server) send the POST request, it first seems to be working, then it gets the response below:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
            <meta name='viewport' content='width=device-width, initial-scale=1'>
                <title></title>
                <script nonce="8g0lADvTJQAPKt1IoVJ+uVzmTTs">function getWS(){var o=0,l=0,t=document,r=window.devicePixelRatio||1;return"CSS1Compat"==t.compatMode?(o=Math.max(t.body.scrollWidth,t.documentElement.scrollWidth),l=Math.max(t.body.scrollHeight,t.documentElement.scrollHeight))Sado=t.body.scrollWidth,l=t.body.scrollHeight),[o,l,r]}function cookieCheck(){var o=navigator,e=document,i=!!o.cookieEnabled;return void 0!==o.cookieEnabled||i||(e.cookie="testcookie",i=-1!=e.cookie.indexOf("testcookie")),i}function isIFrame(){if(window.location!==window.parent.location)return 1;return 0;}function init() {if(!cookieCheck()){alert("This application requires cookies to be enabled. Please enable cookies in your browser's settings, close your current web session and try again.");throw "Cookies are disabled.";}var s = getWS();var f = document.forms[0];f.elements["IW_width"].value = s[0];f.elements["IW_height"].value = s[1];f.elements["IW_dpr"].value = s[2];f.elements["IW_iframe"].value = isIFrame();  f.submit();}</script>
            </head>
            <body>
                <form method=post action="/?AccountSid=&Hold=false&Muted=false&SequenceNumber=1&StartConferenceOnEnter=true&StatusCallbackEvent=participant-join&Timestamp=Sat, 29 Aug 2026 01:17:31 +0000">
                    <input type=hidden name="IW_width">
                        <input type=hidden name="IW_height">
                            <input type=hidden name="IW_dpr">
                                <input type=hidden name="IW_iframe">
                                    <input type=hidden name="IW_SessionID_" value="sbOFyXruzqeZFPneOENgcNbBGtC">
                                        <input type=hidden name="IW_TrackID_" value="1">
                                            <input type=hidden name="IW_WindowID_" value="l88Os8sKLIbJ2zvpQneeVxT2kJG">
                                                <input type=hidden name="IW_RestartCheck_">
                                                    <script nonce="8g0lADvTJQAPKt1IoVJ+uVzmTTs">init();</script>
                                                </form>
                                            </body>
                                        </html>

The code of the response 200 which seems Ok.
But in fact it is an error response sent by the Intraweb application:
"This application requires cookies to be enabled. Please enable cookies in your browser's settings, close your current web session and try again."

And it seems to be related to the option CookieOptions >  RuncookieCheck.
The CookieOptions in my applications are:
HttpOnly=true
SameSite=ssoLax
Secure=true
SessionCookies=true
UseCookies=true

For sure I cannot ask users to go change cookies settings in their browsers before to be able to use my application!
So, how to resolve this?

Print this item

  The packages IW16.xx include natively CGDevTools now ?
Posted by: DidierMenant - 08-27-2026, 08:39 AM - Forum: IntraWeb General Discussion - Replies (2)

Hello, 

Since you are now maintaining CGDev, do the IW 16.xx packages natively include all CGDev components ?

Print this item

  Source Code
Posted by: Rigoberto Mercedes - 08-21-2026, 01:02 PM - Forum: IntraWeb General Discussion - Replies (3)

Hello. I purchased an IntraWeb Ultimate license, and according to the documentation, it includes the source code for certain modules. I would like to know where I can download them, as I need to understand how some options work, and examining the source code makes that easier. I apologize if this isn't the right channel for this request; if you could point me to the correct place to submit this inquiry, I would appreciate it.

Print this item

  Change Language DataTable
Posted by: Rigoberto Mercedes - 08-19-2026, 01:45 PM - Forum: IntraWeb General Discussion - Replies (1)

Hello, I have an issue: I am using IntraWeb Ultimate version 16.2 and trying to change the language for the DataTable in an IWDBGrid. However, the URL IntraWeb generates for the Spanish language settings is invalid—it points to a location that is no longer active (https://cdn.datatables.net/plug-ins/1.10...es-ES.json). How can I change that URL, or where can I download the source files to make the change myself? Thanks.

Print this item

  Looking for UI Design Tips for a Business Catalog Website
Posted by: chrisjordon232 - 08-06-2026, 05:17 AM - Forum: Delphi General Discussion - No Replies

Hi everyone,

I'm working on a business catalog website using web technologies, and I'm looking for some advice on creating a clean and responsive user interface.

The project is for a company that showcases Office Furniture in Dubai, so the website contains product categories, image galleries, contact forms, and inquiry pages. My main goal is to make the site load quickly while keeping the layout simple and user-friendly.

For those who have experience with IntraWeb or Delphi web applications:

Which UI components work best for product catalog pages?
Do you have any recommendations for improving page performance when displaying many images?
Is there a preferred approach for responsive layouts that works well across desktop and mobile devices?

I'd appreciate any suggestions, best practices, or examples from your own projects.

Thank you in advance for your help!

Print this item

  How to terminate HTTP Thread after WebSocket upgrade
Posted by: hamstring - 08-01-2026, 11:27 AM - Forum: Indy - Replies (5)

I have a HTTP Server that performs the upgrade to a WebSocket server after serving the client with the html file containing the websocket client code on connect. Everything is working fine except the original TCP Thread is hanging in there as a ghost thread after the websocket upgrade, that is using a new thread.

I am looking for a possible way on how to terminate that thread. I can post the relevant snippet where the upgrade is happening, if required.

This is based on TIdCustomTCPServer and staspiter Websocketserver.

Thank you for any fixes or pointers.

Print this item

  Simply convert PeerIp to IpV4
Posted by: DidierMenant - 07-30-2026, 09:50 AM - Forum: Indy - Replies (2)

Hello,
in indy 10

I simply want to convert the format
AThread.Binding.PeerIP = '0:0:0:0:0:0:0:1'
into an IPv4 address (xxx.xxx.xxx.xxx).
I assume there is an existing function that I'm just not finding ?

Print this item

  Datatables question
Posted by: Vitrescent - 07-27-2026, 03:43 AM - Forum: IntraWeb General Discussion - Replies (2)

Hello.  I have rawtext (IWLabel.Caption) for my json data.  

Code:
'{ "data": [ .... ] }'


I want this rawtext include in define of datatables (HTML template).

Code:
WebApplication.CallBackResponse.AddJavaScriptToExecuteAsCDATA('$(''#examples'').DataTable( {  "ajax": ' + rawtext + ',} );'); 


How?

Print this item

  Intraweb components missing on IDE palette (Priority Support)
Posted by: valmeras - 07-20-2026, 08:29 PM - Forum: IntraWeb General Discussion - Replies (3)

I am using Intraweb 16.2.2 with Rad Studio Athens 12.3
If I create  a new C++ Builder project and open a form, Intraweb components are not available on the IDE palette.
But it is a Delphi project, the components are available and visible.

Print this item