| Welcome, Guest |
You have to register before you can post on our site.
|
| Latest Threads |
Reproducible IIS crash in...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
Yesterday, 05:33 PM
» Replies: 1
» Views: 324
|
WebApplication.IP change ...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
Yesterday, 05:31 PM
» Replies: 2
» Views: 377
|
Hook/callback to handle t...
Forum: IntraWeb General Discussion
Last Post: Lenfors
09-08-2026, 09:03 AM
» Replies: 0
» Views: 281
|
The packages IW16.xx inc...
Forum: IntraWeb General Discussion
Last Post: hsbelli
09-03-2026, 11:46 AM
» Replies: 2
» Views: 626
|
Redirection issues with F...
Forum: IntraWeb General Discussion
Last Post: magosk
08-31-2026, 10:03 AM
» Replies: 0
» Views: 359
|
Source Code
Forum: IntraWeb General Discussion
Last Post: magosk
08-31-2026, 08:11 AM
» Replies: 3
» Views: 801
|
TContenthandler requires ...
Forum: IntraWeb General Discussion
Last Post: valmeras
08-30-2026, 02:35 AM
» Replies: 0
» Views: 321
|
TIWjQDBGrid erratic behav...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
08-20-2026, 05:12 PM
» Replies: 8
» Views: 2,474
|
Change Language DataTable
Forum: IntraWeb General Discussion
Last Post: Rigoberto Mercedes
08-19-2026, 03:21 PM
» Replies: 1
» Views: 472
|
How to terminate HTTP Thr...
Forum: Indy
Last Post: rlebeau
08-14-2026, 08:01 AM
» Replies: 5
» Views: 1,179
|
|
|
| SMTP, Sender header, and non-ASCII characters |
|
Posted by: Midiar - 11-22-2019, 12:55 PM - Forum: Indy
- Replies (1)
|
 |
In TIdMessage.GenerateHeader, the From header is set using EncodeAddress, so non-ASCII characters are displayed correctly.
The Sender header, however, is set directly, so that non-ASCII characters in TIdMessage.Sender.Name are substituted by "?".
Is that by design? Because of a standard, or because of actual behaviour by servers?
::tor
|
|
|
| How to generate a more unique cookie |
|
Posted by: ALW2019 - 11-21-2019, 06:07 PM - Forum: IntraWeb General Discussion
- Replies (3)
|
 |
Running IntraWeb 14.2.8 with Delphi 10.1.
We have the requirement to destroy the original cookie that was generated prior to authentication, and generate a new cookie after authentication. The genrated post-authentication cookie is different, however the difference is negligible, only the last character is changed (for example from ‘3’ to ‘8’). Each new cookie should be randomly generated so that values cannot be predicted.
In ServerController, CookieOptions are HttpOnly(true), SessionCookies(true) and UseCookies(true).
Is there a way in IntraWeb 14.2.8 to adjust the method used, to generate a more secure/unique cookie after authentication?
Thank you.
|
|
|
| Event to authorize access to IW forms |
|
Posted by: cprmlao@hotmail.com - 11-20-2019, 11:14 PM - Forum: IntraWeb General Discussion
- Replies (8)
|
 |
Hi,
I have many forms in my project.
I have created a table to put the rights of each user.
Some users only can access some forms.
What would be the better event to check if a user is authorized to load and see the form?
I´d like to show a dialog message in that event if the user is not authorized.
I think is a a event in servercontroller. But, what? and How to send a async message to browse saying the user is not authorized? Is possible to send a message from servercontroller and not from a form?
I will appreciate some others ideas about it
Regards ,
Luiz
|
|
|
| Impossible to break SSL request w/o AV |
|
Posted by: evgenyk - 11-19-2019, 02:20 PM - Forum: Indy
- Replies (1)
|
 |
Hi,
How to correctly break SSL request that is launched in background thread ?
nowadays I have situation when TIdSSLSocket is destroyed after calling Disconnect:
Quote:IdSSLOpenSSL.TIdSSLSocket.Destroy
System.TObject.Free
IdSSLOpenSSL.TIdSSLIOHandlerSocketOpenSSL.Close
IdTCPConnection.TIdTCPConnection.Disconnect(???)
IdTCPConnection.TIdTCPConnection.Disconnect
but TIdSSLSocket.Send is still executed and I have AV because fSSL is nil:
Code: function TIdSSLSocket.Send(const ABuffer: TIdBytes; AOffset, ALength: Integer): Integer;
var
ret, err: Integer;
begin
Result := 0;
repeat
ret := SSL_write(fSSL, @ABuffer[AOffset], ALength); //<<<< AV
call-stack for this is
Quote:IdSSLOpenSSL.TIdSSLSocket.Send(...)
IdSSLOpenSSL.TIdSSLIOHandlerSocketOpenSSL.SendEnc(???,???,224)
IdSSL.TIdSSLIOHandlerSocketBase.WriteDataToTarget(???,???,224)
IdIOHandler.TIdIOHandler.WriteDirect(...)
IdIOHandler.TIdIOHandler.WriteBufferFlush(???)
IdIOHandler.TIdIOHandler.WriteBufferFlush
IdIOHandler.TIdIOHandler.WriteBufferClose
IdHTTP.TIdHTTPProtocol.BuildAndSendRequest(???)
IdHTTP.TIdCustomHTTP.ConnectToHost($7EA93560,???)
IdHTTP.TIdCustomHTTP.DoRequest(???,'https://.....',$7E91CBF0,$7E9B7AA0,(...))
IdHTTP.TIdCustomHTTP.Post('https://......',$8663B0,$7E9B7AA0)
as a workaround, I can suggest to add checking like if fSSL = nil then Break; in the beginning of loop
|
|
|
| Mixing of usersessions? |
|
Posted by: etwoss - 11-16-2019, 08:51 AM - Forum: IntraWeb General Discussion
- Replies (4)
|
 |
Hi
I use a datamodule pool with my program. Each user can have a different db to look at. The usersession holds the path to that database,
Now i adjusted the Lock and Unlock :
Code: function LockDataModule: TDtmMain;
begin
Result := TDtmMain(TIWServerController(GServerController).Pool.Lock);
if Result.IBDatabase.Connected then
begin
if Result.IBTransaction.InTransaction then
Result.IBTransaction.Rollback;
Result.IBDatabase.Connected := False;
end;
Result.IBDatabase.DatabaseName := UserSession.DbPad;
Result.IBDatabase.Open;
end;
And
Code: procedure UnlockDataModule(ADataModule: TDtmMain);
var
LTemp: TDataModule;
begin
LTemp := ADataModule;
if TDtmMain(LTemp).IBTransaction.InTransaction then
TDtmMain(LTemp).IBTransaction.Rollback;
TDtmMain(LTemp).IBDatabase.CloseDataSets;
TDtmMain(LTemp).IBDatabase.Close;
TDtmMain(ADataModule).IBDatabase.DatabaseName := '';
TIWServerController(GServerController).Pool.Unlock(LTemp);
end;
However, once in every 4-6 months we have a customer showing me data from another customers db! Which is ofcourse not what i want.
After loggin out/in the users gets the correct database info.
It's all about the line
Code: Result.IBDatabase.DatabaseName := UserSession.DbPad;
Which should work properly , if it choses someone else its usersession, this goes wrong.
Any idea what could go wrong ???
Eric
|
|
|
|