Jump to content

elGringo

uniGUI Subscriber
  • Posts

    434
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by elGringo

  1. wprins! That's very rich answer thank you! So this link https://tools.ietf.org/html/rfc2617 to RFC as I can see? I will need time to read it all. For the moment i found that some programs if they are on the Sending device can read Origin content before it is encrypted in SSL. As for the moment I can see way with tokens - quite good. Maybe its naive but we can encrypt a couple of numbers for example before sending them, numbers will be connected to each other for some law, for ex. n2=(n1+1) or more sophistic way and to decrypt it on server, if pair is in law then accept request.
  2. So i checked with HTTPDebugger - another sinffer program. SSL works well when https. No Post / get params visible! Thank you all for discussion - explanation found!
  3. Yes! I agree with you - if someone will want to hack he will do that. Just wanted implement some basic things like SSL. I think HTTPAnalyzer injecting to process that's why he gets origin data through HookWinSockVх.dll So SSL works correct, traffic is encrypted. About checks on Server - yes, of course
  4. I have idHTTP and idHTTPServer. I send commands like this, for example - sending file from idHTTP procedure TVisualFrame_HTTP.SendOneFile; var PostData: TIdMultiPartFormDataStream; FileName:string; Error:string; ResponseText:string; begin if not IsHTTPConnectionOk(Error,ResponseText) then Exit; if OpenDialog.Execute then FileName:=OpenDialog.FileName; if FileName='' then Exit; PostData := TIdMultiPartFormDataStream.Create; try idHTTP.Request.Referer := HTTPServerToRequest+'/sendfile'; // 'http://localhost:40000/sendfile'; // idHTTP.Request.ContentType := 'multipart/form-data'; // PostData.AddFormField('field1', 'msg1'); PostData.AddFile('attach', FileName, 'application/x-rar-compressed'); // PostData.AddFormField('field2', 'msg2'); // PostData.AddFormField('action', 'post'); idHTTP.Post(HTTPServerToRequest+'/sendfile', PostData); Application.ProcessMessages; finally if(Assigned(PostData)) then PostData.Free; ShowMessage('idHTTP Sent OK'); end; end; And on Server Side I decode it. So if any one will sniff which URI i use to send file - than anyone can upload any file (maybe harmful EXE). In HTTPAnalyzer it is all visible - host, port, post params, so POST request may be repeated! So I just want Server to recognize if this POST request is myne. For the moment i decided to use SSL for the first and Login Password as Params before to check if it is my Request but in HTTPAnalyzer - I can see that all... Maybe other ways to separate my POST requests from other ones?
  5. Dear proffessionals! I never used SSL, and I tried today in hope to protect POST Params from sniffers like HTTPAnalyzer. In current version I test with idHTTP and idHTTPServer and in next version i am going to use UniGUI Server, so situation will be similar. So I send POST Request with Params in HTTPAnalyzer I see Is it normal situation for SSL?
  6. Theme up - nobody knows? Just wanted best practice - or noone knows?
  7. For the moment I can understand that difference in calling them To call Application form we should use SomeApplicationForm.Show(); To call FreeForm we should use ... var SomeFreeForm:TSomeFreeForm; begin SomeFreeForm:=TSomeFreeForm.Create(UniApplication); SomeFreeForm.Show(); ... // SomeFreeForm.Free; // << somewhere in the code So - what else different beetwen them? Is ApplicationForm is more modern - with automatical memory management on it? What approach is more reliable from your experience?
  8. Yes, but this handler (OnBeforeLogin) is empty in logindemo. So, I tested I have Main form and LoginForm TfEncryptLink_LoginForm = class(TUniLoginForm) I start App and i see main Form I set Handled:=true in OnBeforeLogin and it is again MainForm on Start So, how to repeat logindemo? Can't understand)))
  9. mohammad thnx! So, how to repeat it? I created simple App with 1 Main form and 1 Login Form - when I started - I saw Main form. Where is Login form - that shoud start automatically ?))) Then I just checked Visible:=false to Main form, and Login form appeared first also can't understand when and how Login Form was Created ? Didn't see anywhere code like Loginform:=TLoginForm.Create in spite of that everywhere function like function fEncryptLink_LoginForm: TfEncryptLink_LoginForm; begin Result := TfEncryptLink_LoginForm(UniMainModule.GetFormInstance(TfEncryptLink_LoginForm)); end; So - how it works in UniGUI - we don't need to create it in memory and Free then? Instances created on Create of Main? Does this approach safe for memory leaks?
  10. Can anyone explain, why in login demo there is a TUniLoginForm1 showed first? In which place of code is that? Can't find it!
  11. As for me - a lot of variants - that's good. But without experience - it is complicated to understand what decision is better!!! On the one hand FireMonkey - is powerful framework but what I don't like is -It will not work on all devices, as I understood on Intel Processors. So part of customers will be angry))). -I can't work with MySQL directly from FireDac -need to use DataSnap or some other components My doubts about UniMobile - i didn't work with it at all. How is it in work? How are your customers - are they happy? -half a year ago i tried some Hello World App - but stoped on centering the button - in Delphi code I centered the button but on the fact button wasn't in center - so i thought that moment that UniMobile maybe not ready for production or I am wrong in something. What i like in UniMobile - we have one code - for all devices and platforms, as I understand for correct work we need only -Connection to the Web -Mobile Browser - but which one better? Is any difference? Is jQuery works good with different ones or Google Chrome better for example?
  12. So, you developed 2 apps. One - clear FireMonkey - another UniMobile wrapped in TWebBrowser?
  13. I mean some mistakes. For example in fireMonkey i found difference like that on the picture on different devices. On Fire-Monkey.ru forum i found the answer - do not use gradient. So, i just didn't know that...
  14. Dear All! I want to write a little application for Android and iPhone that doesn't need any camera, or hardware or phone book... Only business logic Tested simple apps on FireMonkey on 3 devices - Lenovo S60, Sony Xperia and Samsung DUOS - Result - only on Lenovo S60 it started OK - on other devices it wasn't found in Target Folder in spite of latest SDK... Same test on UniGUI mobile - All is Ok on three devices!!! So, as I know UniGui mobile needs only internet and browser on device and it will start on any device - Android, iPhone, WindowsPhone, etcetra. My question - how good is uniGUI in practice? What invisible stones for UniGUI developer? Please share your experience. Maybe it needs only Google Chrome browser? Also - how it is better to give this app to the customer? As a link or to wrap it to TWebBrowser in FireMonkey app? Strong point of FireMonkey is graphic and Animation - what about it in uniGUI mobile??
  15. Ok, my decision is following - Zilav, big thanks to you for help!!! procedure TVisualFrame_PSFTPClient.bTestClick(Sender: TObject); var FFileTimeLocalized:TFileTime; FFileTime:TFileTime; FLocalFileTime:TFileTime; SystemTimeLocalized:TSystemtime; SystemTime:TSystemtime; datetime: TDateTime; IndyString:String; begin IndyString:='20160912210450'; // <<Example datetime := EncodeDateTime(StrToInt(Copy(IndyString, 1, 4)), StrToInt(Copy(IndyString, 5, 2)), StrToInt(Copy(IndyString, 7, 2)), StrToInt(Copy(IndyString, 9, 2)), StrToInt(Copy(IndyString, 11, 2)), StrToInt(Copy(IndyString, 13, 2)), 0); DateTimeToSystemTime(datetime,SystemTime); SystemTimeToFileTime(SystemTime,FFileTime); FileTimeToLocalFileTime(FFileTime,FFileTimeLocalized); FileTimeToSystemTime(FFileTimeLocalized,SystemTimeLocalized); ShowMessage( 'GMT Localized '+ DateTimeToStr( SystemTimeToDateTime( SystemTimeLocalized)) ); ShowMessage( 'GMT 0 (Not Localized) '+ DateTimeToStr(datetime) ); end;
  16. Yes)) Thank you, Zilav! I also decided like this, but it is datetime in GMT 0, now i am thinking how to cast it to locale time, for example difference with my windows watches is +5 hours. I almost found decision, will post it here little bit later...
  17. Ok, i tried FFileTime.dwLowDateTime:=20160911195120; FFileTime.dwHighDateTime:=20160911195120; for i := 0 to Memo1.Lines.Count-1 do begin FileTimeToLocalFileTime( FFileTime, LTime); FileTimeToSystemTime( LTime, SystemTime ); Memo2.Lines.Add(//'value='+ DateTimeToStr( SystemTimeToDateTime( SystemTime) ) ); end; as a result 11.06.6156 4:33:57 Don't understand how it works for the moment
  18. Hi, everyone! I use Indy, and after idFTP.put I want to get info about File Creation DateTime on Server I do like following... ... List; Memo1.Lines.Clear; for i := 0 to IdFTP.ListResult.Count-1 do begin Memo1.Lines.Add(IdFTP.ListResult[i]); end; ... As a result i get info like this size=0;type=cdir;create=20160911195120;modify=20160912135842;windows.lastaccesstime=20160912135842;win32.ea=0x00002010; . size=0;type=pdir;create=20160911195120;modify=20160912135842;windows.lastaccesstime=20160912135842;win32.ea=0x00002010; .. size=0;type=dir;create=20160912102900;modify=20160912102900;windows.lastaccesstime=20160912102900;win32.ea=0x00002010; 2016 size=2360;type=file;create=20160912135842;modify=20160912135842;windows.lastaccesstime=20160912135842;win32.ea=0x00002020; cancel(1).png As I understand this is create=20160911195120; is timestamp in 64 bit Ok, with Regular Expressions I can get only this numbers (20160911195120) but how to convert them to the readable DateTime??? I tried FileDateToDateTime function, but 20160911195120 is not an integer? I meet this situation first time. Who can help? Regards,
  19. Yes. It is clear, but looked for alternative variants
  20. Or you just meant that they use HTTP Protocol? If so - yes that is strong argument.
  21. And idea to divide big files looks very well. Need to try it...
×
×
  • Create New...