proxy et firewall avec SyScript


en cas de problème d'affichage des fichiers de type ".spg" vous devez installer le plugin

tester un exemple simple ici : à partir d'une page web  documentation

         

L'avantage d'utiliser un serveur http est de faire des requêtes à travers les firewalls
Si vous faites des requêtes par script directement sur l'adresse "http://web_path/script.spg, il y a un risque que cette requête soit bloquée par le firewall qui interdira l'exécution d'un type de fichier inconnus. Dans le même cas, si le script réalise une requête sur le port 3306, par exemple le firewall bloquera la requête sur ce port non autorisé
Quand vous utilisez un serveur, vous utilisez des ports de communication connus, comme 80, et vous faites des requêtes à travers ces ports par internet.
SyScript utilise les syntaxes standard du web pour les requêtes serveur : http://chemin_web/script.spg?param=value

Pour exécuter des requêtes à distance sur les bases de données ou les serveurs, regardez SyScript http server

         


Pour executer un script à partir du serveur, il y a plusieurs possibilités :
- à partir d'un navigateur standard - à partir d'un script SyScript
  Le script à exécuter par le serveur envoie au client le code à exécuter ou la page à afficher.
  Le code envoyé au client est exécuter en mémoire, pas d'accès disque, ou d'écriture.
- à partir d'un navigateur, vous pouvez tester l'exemple founi dans le fichier "http_server.zip", avec l'adresse suivante : http://server_pcname/script1.spg? or
http://server_pcname/script2.spg?
- à partir d'un script (le serveur local est sur mon ordinateur)
  CALL http://server_pcname/script1.spg?
ou
RUN %APP% http://server_pcname/script1.spg?
ou
à partir d'un site web "www" (Le serveur est sur internet)
pour exécuter le même exemple avec des paramètres modifiés :
http://server_pcname/script1.spg?param1=var1¶m2=var2
Cette écriture est une écrire web standard
Tester ici un exemple en ligne : http://www.sysdesk.com/launch_heart.spg?
cliquer ici pour découvrir le code source du test : heart.spt

       

Tous les résultats des requètes MYSQLQUERY sont stockés dans un tableau appelé MYSQLQUERY
cliquez ici pour voir le code source du coeur

         


Certains caractères ont besoin d'être protégés afin que la commande fonctionne correctement
Cela peut-être réalisé avec la commande MYSQLESCAPE, qui transforme correctement les chaînes de caractères
par exemple, ici, le caractère spécial à protéger est QUOTE (')
MYSQLESCAPE l'esprit et le vin
SET MAVARIABLE=%MYSQLESCAPE%
MYSQLQUERY SELECT * FROM MaTable WHERE FIELD='%MAVARIABLE%'

Il est aussi possible de modifier des caractères spéciaux facilement avec le mot spécial ".MY$"
Regardez ici un exemple :
MYSQLQUERY SELECT * FROM MaTable WHERE FIELD='%MAVARIABLE.MY$%'

         


Il est possible de stocker des données en mode binaire dans la base de données, par exemple, nous pouvons stocker des plugins SyScript
comme les fichiers ".spg". Certains caractêres spéciaux ont besoins d'être protégés pour que la requête fonctionne correctement
La commande BINGET permet de lire un fichier binaire
La commande VARPROTECT est utilisée pour protéger les caractéres contre n'importe quelles conversions non désirées
La commande MYSQL UPDATE permet de mettre à jour des données existantes
exemple :
BINGET PATH\file.spg
VARPROTECT #
MYSQLQUERY INSERT INTO `BASENAME`.`TABLENAME`(`id`,`pathname`,`filename`,`file`,`size`) VALUES ('%ID%','%PATHNAME.MY$%','%FILENAME.MY$%','#BINGET.MY$#','%NBINGET%')

         


Les requêtes de base de données peuvent être réalisées à travers un server web (voir serveur http). Pour demander à SyScript d'exécuter une requête à travers un serveur http,
vous avez juste besoin d'initialiser la commande suivante : MYSQLBYHTTP ON,SERVERNAME:PORT_NUMBER
ex : MYSQLBYHTTP ON,MYSERVER:80
Toutes les commandes MYSQLQUERY ne seront plus exécutées directement par le script mais demandées au serveur d'être exécutées à travers internet
Le serveur aura la charge d'envoyer la requête à la base de données internet à travers le réseau
Les résultats de la requête seront automatiquement envoyés au client dans le tableau MYSQLQUERY
L'avantage principal de cette méthode est de traverser les PROXY et les FIREWALLS voir SyScript http server

Télécharger une version d'évaluation de SyScript ici

Achetez !