Question

J'essaie d'héberger un script python à l'aide d'un serveur Web Apache, mais le serveur essaie de l'exécuter au lieu de simplement le proposer au téléchargement.

Je n'ai pas d'accès direct au serveur et l'ajout de la ligne

AddType text/plain .py

.htaccess dans le dossier racine ne semble pas fonctionner, bien que je puisse faire quelque chose de mal.

Comment faire en sorte que le serveur envoie simplement le fichier sous forme de texte au lieu d'essayer de l'exécuter?

-Edit

Changer le nom ne fonctionne pas. Script.py.safe génère toujours une erreur 500 Server lorsque vous cliquez dessus.

Je dois également mentionner que le fichier .htaccess fonctionne, mais pour une raison quelconque, une ligne addType ne fonctionne pas. Soit parce que cela ne remplace pas quelque chose, soit parce que la ligne est fausse.

Était-ce utile?

La solution

Dans votre .htaccess:

  

RemoveHandler .py

Autres conseils

Si vous ne pouvez pas modifier la configuration d'Apache et que vous ne pouvez pas la remplacer par un fichier htaccess, il me semble que la solution la plus simple serait de changer l'extension du fichier ou d'écrire un script imprimant le contenu du script cible.

Les deux sont en quelque sorte des hacks, mais la solution correcte consiste à changer la configuration Apache.

Une option consiste à modifier l'extension et à préciser qu'elle doit être renommée. IE python.py.safe ou python.py.dl. L’utilisateur devra alors supprimer le bit supplémentaire.

Vous pouvez également le compresser.

Je voudrais écrire quelque chose qui charge le script python. De cette façon, vous pourriez même être énergique et inclure le formatage et le style du code. Vous pouvez même l'écrire en python puisque vous ne l'auriez pas exclu par extension de fichier.

<IfModule mime_module>
    <Files *.py>
        ForceType text/plain
    </Files>
</IfModule>

dans un .htaccess pour le dossier devrait fonctionner;)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top