SyScript proxy and firewall


In case of problem to display ".spg" files you should install the pluging here

test a short sample here : From a web page

here documentation

         

The avantage to use an http server is to access remote databases or server over the internet by by crossing proxy and firewalls.
If you directly request a script "http://web_path/script.spg, there is a risk for the request to be blocked by a firewall
which will forbid the execution of an unknown type file. In the same case, if the script made a request on 3306 port for example
the firewall will blocked the request on this unauthorized port
When you use a server, you also use known ports, like 80, and you transit data or request through these ports over the internet
SyScript use standard web syntax for server requests : http://chemin_web/script.spg?param=value
to execute remote request on database or servers see SyScript http server

         


To execute a script from the server there are severals possibilities :
- from a standard browser - from a SyScript script
  The scripts to execute from the server send to the client some code to execute or a web page to display.
  the sending code runs on memory, no disk access or write.
- from a browser, you can test the sample provided on http_server.zip file, with the web input file : http://server_pcname/script1.spg? or
http://server_pcname/script2.spg?
- from a script (the local server is on my computer)
  CALL http://server_pcname/script1.spg?
or
RUN %APP% http://server_pcname/script1.spg?
or
from a web site "www" (the server is on the internet)
to execute the same sample with modified parameters :
http://server_pcname/script1.spg?param1=var1¶m2=var2
This written is a web standard written
test here online sample : http://www.sysdesk.com/launch_heart.spg?
click here to discover the source code of the test : heart.spt

       

All results of MYSQLQUERY request are stored in a table named MYSQLQUERY
click here to discover heart source code

         


Some of specials caracters needs to be protected in order for the request to works correctly
These can be done with MYSQLESCAPE command, which transforms correctly chains of caracters
;For example, here, the special caracter tobe protected is QUOTE (')
MYSQLESCAPE l'esprit et le vin
SET MAVARIABLE=%MYSQLESCAPE%
MYSQLQUERY SELECT * FROM MaTable WHERE FIELD='%MAVARIABLE%'

It is also possible to modify specials caracters easely, with the special keyword '.MY$'
Please find here an example :
MYSQLQUERY SELECT * FROM MaTable WHERE FIELD='%MAVARIABLE.MY$%'

         


It is possible to store data in binary mode to the database, for example, we can store SyScript
plugins, like ".spg" files. Some of specials caracters needs to be protected in order for the request to works correctly
The BINGET command allows to read a binary file
The VARPROTECT command is used to proctect caracters against any non desire conversion
The command MYSQL UPDATE allows to update existing data
example :
BINGET PATH\file.spg
VARPROTECT #
MYSQLQUERY INSERT INTO `BASENAME`.`TABLENAME`(`id`,`pathname`,`filename`,`file`,`size`) VALUES ('%ID%','%PATHNAME.MY$%','%FILENAME.MY$%','#BINGET.MY$#','%NBINGET%')

         


Database requests can be done through a server (see syscript http server). To ask to SyScript to execute request through
an http server, you just need to input the following command : MYSQLBYHTTP ON,SERVERNAME:PORT_NUMBER
ex : MYSQLBYHTTP ON,MYSERVER:80
All MYSQLQUERY commmands wouldn't be directly executed by the script, but asked to the server to be executed through internet
The server will be in charge to send the request to the internet database over the network
The results of the request will be automaticaly send to the client on MYSQLQUERY table
The best avantage of this methods is to bypass PROXY and FIREWALLS

         


The best avantage to use http server is to request over firewalls
If you directly request a script "http://web_path/script.spg, there is a risk for the request to be blocked by a firewall
which will forbid the execution of an unknown type file. In the same case, if the script made a request on 3306 port for example
the firewall will blocked the request on this unauthorized port
When you use a server, you also use known ports, like 80, and you transit data or request through these ports over the internet
SyScript use standard web syntax for server requests : http://chemin_web/script.spg?param=value
The results of the requests are returned through the initial port to the client which displays the page or the script
If the demand is a MYSQL request, it will be send to MYSQL server by http server. The result will come back from the server
to the client by the same way, in a transparency mode. In the script there is nothing to change on code source
if you put on script the following command : MYSQLBYHTTP ON,"http_syscript_servername":"port_number"
SysDesk application is a client/server application developped with MYSQL database and works on this describe mode
try it on http://www.sysdesk.com

Download trial version of SyScript here

Purchase Now!