Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment exécuter un jscript qui modifie un fichier texte coté serveur

5 réponses
Avatar
Olivier
Bonjour,

J'ai créé une database Access (avec access 2003) avec une page d'accès aux
données que j'ai mis sur mon serveur W2003 sous IIS.
Cela fonctionne bien à part que je voudrai que mon code jscript écrive dans
un fichier texte sur le serveur et non sur le poste client.
Voici mon script :

var ForReading = 1, ForWriting = 2, ForAppending = 8;
var fso, f;
var st;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("D:\\Labo\\risprov\\ris.txt", ForReading);
st = f.readAll();
f.Close();
f = fso.OpenTextFile("D:\\Labo\\risprov\\ris.txt", ForWriting, true);
f.Write (st.replace("JoinWorkgroup","JoinDomain"));
f.close();

Comment faire pour que mon script modifie le fichier ris.txt coté serveur et
non coté client ?

merci d'avance

Olivier le débutant

5 réponses

Avatar
Olivier Miakinen
Bonjour,


J'ai créé une database Access (avec access 2003) avec une page d'accès aux
données que j'ai mis sur mon serveur W2003 sous IIS.
Cela fonctionne bien à part que je voudrai que mon code jscript écrive dans
un fichier texte sur le serveur et non sur le poste client.
Voici mon script :

var ForReading = 1, ForWriting = 2, ForAppending = 8;
var fso, f;
var st;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("D:Laborisprovris.txt", ForReading);
st = f.readAll();
f.Close();


Eh bien ! C'est autorisé, ça, avec JScript ? J'espère au moins qu'il y a
une demande d'acceptation volontaire de la part du visiteur !

f = fso.OpenTextFile("D:Laborisprovris.txt", ForWriting, true);
f.Write (st.replace("JoinWorkgroup","JoinDomain"));
f.close();


Et encore plus pour l'écriture que pour la lecture...

Comment faire pour que mon script modifie le fichier ris.txt coté serveur et
non coté client ?


Eh bien il faut faire tourner le script sur le serveur. Si ce n'est pas
possible avec JScript, tu peux essayer avec Perl ou PHP, voire avec un
exécutable compilé. Personnellement je te conseillerais PHP. Et pour
appeler le script serveur depuis le client, ça peut se faire par un bête
formulaire, ou bien via AJAX (XmlHttpRequest).

Avatar
YD
Bonjour,

J'ai créé une database Access (avec access 2003) avec une page d'accès aux
données que j'ai mis sur mon serveur W2003 sous IIS.
[...]
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("D:Laborisprovris.txt", ForReading);
st = f.readAll();
f.Close();


Eh bien ! C'est autorisé, ça, avec JScript ? J'espère au moins qu'il y a
une demande d'acceptation volontaire de la part du visiteur !


Ce n'est pas prévu pour être exécuté dans une page internet mais
pour écrire des scripts côté serveur (asp, aspx...) ou des scripts
d'administration de systèmes Windows.

Comment faire pour que mon script modifie le fichier ris.txt coté serveur et
non coté client ?


Eh bien il faut faire tourner le script sur le serveur. Si ce n'est pas
possible avec JScript, tu peux essayer avec Perl ou PHP, voire avec un
exécutable compilé. Personnellement je te conseillerais PHP. Et pour
appeler le script serveur depuis le client, ça peut se faire par un bête
formulaire, ou bien via AJAX (XmlHttpRequest).


L'OP dit qu'il a installé IIS et attaque sur le serveur une base Access,
donc des scripts asp feront ce qu'il veut (avec peu de changement de
syntaxe par rapport au code fourni) et sans installation logicielle
supplémentaire. En cherchant 'asp jscript access' sur Google il aura bien
des pistes...

--
Y.D.


Avatar
Olivier Miakinen

f = fso.OpenTextFile("D:Laborisprovris.txt", ForReading);
st = f.readAll();


Eh bien ! C'est autorisé, ça, avec JScript ? [...]


Ce n'est pas prévu pour être exécuté dans une page internet mais
pour écrire des scripts côté serveur (asp, aspx...) ou des scripts
d'administration de systèmes Windows.


Ah, d'accord. Donc ça n'a aucune chance de lire et écrire les
fichiers côté client, contrairement à ce que laissait supposer
Olivier Ledébutant ?

Comment faire pour que mon script modifie le fichier ris.txt coté serveur et
non coté client ?


Eh bien il faut faire tourner le script sur le serveur. [...]


L'OP dit qu'il a installé IIS et attaque sur le serveur une base Access,
donc des scripts asp feront ce qu'il veut (avec peu de changement de
syntaxe par rapport au code fourni) et sans installation logicielle
supplémentaire.


Merci pour toutes ces précisions.



Avatar
Olivier
merci pour vos conseils !
Je vais essayer de plancher la-dessus !

Olivier

"Olivier Miakinen" <om+ a écrit dans le message de news:


f = fso.OpenTextFile("D:Laborisprovris.txt", ForReading);
st = f.readAll();


Eh bien ! C'est autorisé, ça, avec JScript ? [...]


Ce n'est pas prévu pour être exécuté dans une page internet mais
pour écrire des scripts côté serveur (asp, aspx...) ou des scripts
d'administration de systèmes Windows.


Ah, d'accord. Donc ça n'a aucune chance de lire et écrire les
fichiers côté client, contrairement à ce que laissait supposer
Olivier Ledébutant ?

Comment faire pour que mon script modifie le fichier ris.txt coté
serveur et
non coté client ?


Eh bien il faut faire tourner le script sur le serveur. [...]


L'OP dit qu'il a installé IIS et attaque sur le serveur une base Access,
donc des scripts asp feront ce qu'il veut (avec peu de changement de
syntaxe par rapport au code fourni) et sans installation logicielle
supplémentaire.


Merci pour toutes ces précisions.





Avatar
YD
f = fso.OpenTextFile("D:Laborisprovris.txt", ForReading);
st = f.readAll();
Ce n'est pas prévu pour être exécuté dans une page internet mais


pour écrire des scripts côté serveur (asp, aspx...) ou des scripts
d'administration de systèmes Windows.


Ah, d'accord. Donc ça n'a aucune chance de lire et écrire les
fichiers côté client, contrairement à ce que laissait supposer
Olivier Ledébutant ?


Si la sécurité n'a pas été abaissée, il y aura au moins une demande
d'autorisation, et dans les versions les plus récentes d'IE un avis
de blocage du script. Pour IE, il s'agit de charger un objet ActiveX
du type "Scripting.FileSystemObject".

--
Y.D.