Compilierte Pythonscripts als cgi aufrufen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
andreas1965
User
Beiträge: 9
Registriert: Dienstag 19. Dezember 2006, 21:13

Aufruf einer *.pyo unter apache 1.33 gibt einen Fehler zurück.
Ich nehme an, es liegt am python-pfad #!/usr/bin/python der in der byte-code version nicht gelesen wird. Wie kann man das lösen?

Andreas
andreas1965
User
Beiträge: 9
Registriert: Dienstag 19. Dezember 2006, 21:13

wenn ich auf einem fremden Server bin und dem Betreiber (aus Erfahrung) nicht traue..

Aber ernsthaft: Gehts wirklich nur als .py? oder muss man nur den Apachen entsprechend vorbereiten oder ..


Andreas
BlackJack

Was heisst Du traust dem Betreiber nicht? Eine *.pyo-Datei kann er doch auch einfach ersetzen, sich den Bytecode anschauen, "monkey-patchen" usw.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

andreas1965 hat geschrieben:wenn ich auf einem fremden Server bin und dem Betreiber (aus Erfahrung) nicht traue..
Betreiber wechseln?

Denn pyo-Dateien sind so ziemlich gar kein Schutz. Dafür sind sie auch nicht gedacht, sie sind nur dafür da, damit der Python-Interpreter sich das generieren von Bytecode sparen kann, mehr nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
andreas1965
User
Beiträge: 9
Registriert: Dienstag 19. Dezember 2006, 21:13

BlackJack hat geschrieben:Was heisst Du traust dem Betreiber nicht? Eine *.pyo-Datei kann er doch auch einfach ersetzen, sich den Bytecode anschauen, "monkey-patchen" usw.
Zu copy-paste brauchts wenig kriminelle Energie und Kenntnisse. Es reicht, wenn man ein wenig Erfahrung mit Perl oder Ruby hat, um den Code ein wenig umzustricken, und dann zu behaupten, es wär der eigene - Bytecode decompilieren ... da muß man schon eine ganze Menge Zeit und Recherche reinstecken.

Betreiber wechseln geht nicht, weil es ein internes Netz ist. Selbst konfigurierte (und administrierte) Server werden nicht zugelassen. Ich muß also dem Admin des Servers das Scriptenpaket zur Installation in die Hand drücken.

Ich habe jetzt die Module neu gesplittet und alle wesentlichen Funktionen und Aufrufe in ein Modul mit verschiedenen Klassenobjekten übertragen. Das Modul wird byte-code compiliert und die Cgi-Pys werden sozusagen als front-end aufgerufen.

Andreas
BlackJack

Oh man, Du musst ein Genie sein. Nur wenige Leute schreiben Code, den es sich wirklich zu "klauen" lohnt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

andreas1965 hat geschrieben:Bytecode decompilieren ... da muß man schon eine ganze Menge Zeit und Recherche reinstecken.
Nein, es reicht decompyle anzuwerfen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

Leonidas hat geschrieben:Nein, es reicht decompyle anzuwerfen.
Das kommt aber meines Wissens nach nicht mit dem Bytecode neuerer Python-Versionen klar.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

lumax hat geschrieben:
Leonidas hat geschrieben:Nein, es reicht decompyle anzuwerfen.
Das kommt aber meines Wissens nach nicht mit dem Bytecode neuerer Python-Versionen klar.
Es funktioniert bis Python 2.3. Wenn aber der Code ausreichend wirchtig ist, dann lohnt sich vielleicht sogar der auswand, den Decompiler auf eine aktuelle Version zu aktualisieren. Ich weiß aber nicht, wie schwer das ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten