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 ...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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).
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).
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).
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
In article <efc99v$50g$1@cabale.usenet-fr.net>, om+news@miakinen.net
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).
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).