Paradox Community

Items in pnews.paradox-programming

Subject:Re: Sessions
Date:Tue, 26 Sep 2023 17:17:14 +1000
From:Tom Krieg <tomkIGNORE@CAPSsdassociates.com.au>
Newsgroups:pnews.paradox-programming
I solved the problem of insecure Paradox tables and useless passwords by 
having the tables on a secure server to which users had no access. The 
Corel web server OCX ran on this server and listened for  requests. It 
would pass these requests to a Paradox library and the library would 
handle them all, including receiving tables (e.g a tableframe) and 
returning a table (e.g a query).

The Paradox client would send a request for data or to do something, the 
server would send a resultstring, OK for an update, insert or delete or 
a csv string to be turned into a result table.

Users would log in (send it to the server) the server would validate the 
user.
User name, password and all rights to the application would be 
encrypted. This included which forms a user could open.

No one ever had access to the tables except the server. Users could open 
local forms or scripts but without valid sever credentials, the form etc 
would not open.

This scenario required
- Tony McGuire's HTTP control, used by Paradox to send HTTP requests and 	
	manage HTTP responses
- The Corel Web Server OCX, to handle HTTP requests and return HTTP
	responses
- Tony McGuire's encryption control, to encrypt user credentials
- Some out-of-the-box thinking

Unless you can find these controls and work out how to use them, give up.

I developed a Paradox application for a real estate company in Vermont 
back in 2002 where the agents were on the road and the server was at 
headquarters. Worked well.

I initially developed  the above Paradox application for an Australian 
autoparts importer and wholesaler with 3 branches thousands of miles 
apart. 256Mbit DSL line and all 3 branches used the one database. No 
security or password issues.

Of course, when I converted everything to PotgreSQL running on a server, 
this became obsolete. It was also easy to do because all I had to do was 
replace the Paradox table libraries with PostgreSQL libraries. In fact, 
I ran a hybrid system for 6 months, replacing libraries one at a time 
without users even being aware (except whenever a new library came on 
stream, the response time would improve).

The next version of Windows 11 (23H2) will kill Paradox, from what I've 
read so I wouldn't waste my time. Windows10 has just over a year to live 
unless you  want to run it in a cave without users.

On 22/09/2023 6:17 am, Peter wrote:
> Whenever adding passwords I have always used
> var sesĀ  session endvar
> ses.open()
> ses.addPassword()
> 
> I got that from some help example and now I am wondering why a session 
> needs to be opened.
> 
> More thinking
> I open a form and add necessary passwords to access tables
> 
> I run a method and add password(s), then when the method finishes I 
> remove all passwords.
> 
> If I remover all passwords now the form is affected; true?
> 
> It would seem to me that if running a separate method requires its own 
> passwords then that is when I should add a session so I do not affect 
> other passwords already established.
> 
> Do I have this right?


Copyright © 2004 thedbcommunity.com