Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/03/2020, à 09:54

totolezero

[résolu] nginx + PHP + python

Bonjour chers confinés,

Petit soucis :
J'ai une page PHP qui exécute du python :

$command = escapeshellcmd('/chemin/vers/monscript.py');
$output = shell_exec($command);
echo $output;

Tout marche nickel.
Sauf que, si je tape dans le navigateur :

http://adresse/monscript.py

Là, le navigateur me propose d'ouvrir ou enregistrer le fichier monscript.py.

J'ai donc changé les droits de lecture ou exécution sur ce fichier, mais alors, dans ce cas, le script ne s'exécute plus.

Comment faire ?

Dernière modification par totolezero (Le 24/03/2020, à 09:29)

Hors ligne

#2 Le 24/03/2020, à 08:29

totolezero

Re : [résolu] nginx + PHP + python

Je précise ma question :

Vu le niveau de sécurité de ce comportement (script avec données sensibles visible dans l'explorateur), comment faire pour que ce script soit exécuter par PHP, mais non visible dans l'explorateur.

Dossier dans lequel se trouve mon script :

ls -al
drwxr-x--- 2 root     www-data 4096 mars  23 08:25 .
drwxr-xr-x 3 root     root     4096 mars  23 08:06 ..
-r-x------ 1 www-data www-data   35 mars  23 07:31 toto.py 

voili, voilou...

Hors ligne

#3 Le 24/03/2020, à 09:28

totolezero

Re : [résolu] nginx + PHP + python

Ouf, j'ai résolu le problème tout seul...

En fait dans nginx, j'ai réduit les droits pour le dossier /script ainsi que les extensions .py :

location /script {
    return 404;
}
location ~ /script/\.py$ {
    return 404;
}

Et là, impeccable, une erreur 404 s'affiche lorsqu'on accède à :

http://monsite/script 

ou

http://monsite/script/toto.py

alors que mon script s'exécute bien dans ma page PHP.

Cool.
Je mets en résolu.

Hors ligne