Domanda

Sto cercando di ospitare uno script Python usando un web server Apache, ma il server tenta di eseguire lo script invece di offrirlo solo per il download.

Non ho accesso diretto al server e aggiungo la linea

AddType text/plain .py

a .htaccess nella cartella principale non sembra funzionare, anche se potrei fare qualcosa di sbagliato.

Come posso ottenere che il server invii semplicemente il file come testo invece di provare a eseguirlo?

-Edit

La modifica del nome non funziona. Script.py.safe dà ancora un errore 500 Server quando fai clic su di esso.

Dovrei anche menzionare che il file .htaccess funziona, ma per qualche motivo che una riga addType non funziona. O perché non ha la precedenza su qualcosa o la linea è sbagliata.

È stato utile?

Soluzione

Nel tuo .htaccess:

  

RemoveHandler .py

Altri suggerimenti

Se non puoi modificare la configurazione di Apache e non puoi sovrascriverla con un file htaccess, allora mi sembra che le soluzioni più semplici sarebbero o cambiare l'estensione del file, oppure scrivere uno script che stampa il contenuto dello script di destinazione.

Entrambi sono in qualche modo hack, ma la soluzione corretta è cambiare la configurazione di Apache.

Un'opzione è cambiare l'estensione e chiarire che dovrebbe essere rinominato. IE python.py.safe o python.py.dl. L'utente dovrebbe quindi rimuovere il bit extra.

Potresti anche comprimerlo.

Scriverei qualcosa che carica lo script Python. In questo modo potresti persino diventare energico e includere la formattazione e lo stile del codice. Potresti anche scriverlo in Python poiché non lo avrai precluso dall'estensione del file.

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

in un .htaccess per la cartella dovrebbe funzionare;)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top