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

Identifier un script lance en ligne de comm ande

2 réponses
Avatar
Jean-Paul
Bonjour,

J'ai un script PHP, accessible via mon application web, dont l'accès est
contrôlé par une authentification (LDAP, en l'occurence): Si on essaye
d'accéder à ce script sans être authentifié, l'utilisateur est redirigé
vers une page de Login.
Mais je souhaiterais également lancer ce même script en ligne de
commande: Créer une tâche planifiée (Je suis sous plateforme Windows),
qui lancera le script à heures régulières. Mais comment identifier en
PHP, qu'un script est lancé en ligne de commande ? Et permettre son
execution dans ce cas ?
Bien sûr, je pourrais faire une seconde version de ce script, qui ne
serais pas dans le "Document Root" (et donc inaccessible via le site
Web), mais je préfererais une solution plus élegante ...

Cordialement,

--
Jean-Paul

2 réponses

Avatar
Olivier Miakinen

J'ai un script PHP, accessible via mon application web, dont l'accès est
contrôlé par une authentification (LDAP, en l'occurence): Si on essaye
d'accéder à ce script sans être authentifié, l'utilisateur est redirigé
vers une page de Login.
Mais je souhaiterais également lancer ce même script en ligne de
commande: Créer une tâche planifiée (Je suis sous plateforme Windows),
qui lancera le script à heures régulières. Mais comment identifier en
PHP, qu'un script est lancé en ligne de commande ? Et permettre son
execution dans ce cas ?
Bien sûr, je pourrais faire une seconde version de ce script, qui ne
serais pas dans le "Document Root" (et donc inaccessible via le site
Web), mais je préfererais une solution plus élegante ...


La solution suivante me semble relativement simple.

Tout d'abord, tu mets effectivement ton script dans en dehors du
« Document Root », appelable directement sur la machine. Mais ensuite,
au lieu de faire une seconde version, le script appelable du web se
contente de vérifier l'authentification avant de faire un include() du
premier script si c'est OK (et de répondre par une erreur dans le cas
contraire).

Avatar
Jean-Paul
In article <efc99v$50g$, om+
says...

J'ai un script PHP, accessible via mon application web, dont l'accès est
contrôlé par une authentification (LDAP, en l'occurence): Si on essaye
d'accéder à ce script sans être authentifié, l'utilisateur est redirigé
vers une page de Login.
Mais je souhaiterais également lancer ce même script en ligne de
commande: Créer une tâche planifiée (Je suis sous plateforme Windows),
qui lancera le script à heures régulières. Mais comment identifier en
PHP, qu'un script est lancé en ligne de commande ? Et permettre son
execution dans ce cas ?
Bien sûr, je pourrais faire une seconde version de ce script, qui ne
serais pas dans le "Document Root" (et donc inaccessible via le site
Web), mais je préfererais une solution plus élegante ...


La solution suivante me semble relativement simple.

Tout d'abord, tu mets effectivement ton script dans en dehors du
« Document Root », appelable directement sur la machine. Mais ensuite,
au lieu de faire une seconde version, le script appelable du web se
contente de vérifier l'authentification avant de faire un include() du
premier script si c'est OK (et de répondre par une erreur dans le cas
contraire).


Bon sang, mais c'est bien sûr !

Merci.

--
Jean-Paul