Quelltext schützen

hallo,
folgender hypotetischer fall: bei einem kunden läuft eine php-webanwendung. es wurden leider vertraglich keine rechte des kunden am quelltext der anwendung vereinbart. nun ist es ja ein leichtes, das geistige eigentum des programmierers in zukunft von jemanden anderem weiterpflegen zu lassen.

wie kann nun der arme programmierer sich absichern? der programmierer hatte die idee, teile seiner funktionalitäten auf einem anderem webserver zu hosten, geht sowas denn?
also der umgang mit „include 'http://www.meinserver.com/funktionen.php’;

die FAQ hilft hier leider auf nicht richtig weiter:
http://www.php-faq.de/q/q-php-kompilieren.html

habt ihr irgendwelche ideen? vorschläge?

Moien

wie kann nun der arme programmierer sich absichern? der
programmierer hatte die idee, teile seiner funktionalitäten
auf einem anderem webserver zu hosten, geht sowas denn?
also der umgang mit „include
'http://www.meinserver.com/funktionen.php’;

5 min mit Ethereal und der Spass ist geknackt.

Man kann php compilieren und eine exe (oder *.so) drauss machen. Damit wird die Sache schon wesentlich komplexer. Allerdings muss man den Zielrechner kennen (Linux oder Windows, x86 oder Power …?) und desen Webserver mitspielen. Und es ist kein 100% Schutz da man auch die exe’s durch diassembler jagen kann.

die FAQ hilft hier leider auf nicht richtig weiter:

Welcher Teil davon ist dir nicht klar ?

cu

Man kann php compilieren und eine exe (oder *.so) drauss
machen. Damit wird die Sache schon wesentlich komplexer.
Allerdings muss man den Zielrechner kennen (Linux oder
Windows, x86 oder Power …?) und desen Webserver mitspielen.
Und es ist kein 100% Schutz da man auch die exe’s durch
diassembler jagen kann.

ja, schon klar…naja, 100% schutz gibts im netz eh nicht…

die FAQ hilft hier leider auf nicht richtig weiter:

Welcher Teil davon ist dir nicht klar ?

dass die „verschleierung“ des codes hier nicht wirklich weiterhilft.

es wird eher so ein tutorial gesucht, dass das zusammenwirken zwischen 2 domains erklärt, halt das prinzip „include funktionen von einem anderen server“ :smile:

Moien

es wird eher so ein tutorial gesucht, dass das zusammenwirken
zwischen 2 domains erklärt, halt das prinzip „include
funktionen von einem anderen server“ :smile:

Das ist einfach (Der Server der den User angesteuert hat nenn ich mal A, den anderen B):

A führt den php-Code aus und kommt am include an. Er lädt die php-Datei vom Server B runter und fügt sie anstelle des include ein. Dann führt er den php-Code weiter aus.

Beim runterladen wird der Klartext der php-Datei übertragen. Den kann man mitschneiden.

cu

Moien

wie kann nun der arme programmierer sich absichern? der
programmierer hatte die idee, teile seiner funktionalitäten
auf einem anderem webserver zu hosten, geht sowas denn?
also der umgang mit „include
'http://www.meinserver.com/funktionen.php’;

5 min mit Ethereal und der Spass ist geknackt.

Hallo!
Kurze Zwischefrage:
Heißt das, man kann mit Ethereal externe PHP-Dateien auslesen?

Moien

5 min mit Ethereal und der Spass ist geknackt.

Heißt das, man kann mit Ethereal externe PHP-Dateien auslesen?

Mit include http://irgendws.irgendwo/datei.php with die Datei http://irgendws.irgendwo/datei.php runtergeladen und verarbeitet. Und Ethereal kann Dateien die runtergelden werden durchaus mitschneiden. Ob’s nun php ist oder nicht spielt keine Rolle.

cu

hi pumpkin,

5 min mit Ethereal und der Spass ist geknackt.

Heißt das, man kann mit Ethereal externe PHP-Dateien auslesen?

Mit include http://irgendws.irgendwo/datei.php with die
Datei http://irgendws.irgendwo/datei.php runtergeladen und
verarbeitet. Und Ethereal kann Dateien die runtergelden werden
durchaus mitschneiden. Ob’s nun php ist oder nicht spielt
keine Rolle.

also Pumpkin das ist einfach und schlichtweg absolut falsch. der bloedeste kaese, den ich je gelesen habe, also wirklich, das ist ja gefaehrlich! Bist du zufaellig von MS gesponsert worden um php schlecht zu machen? :smile:

nichts fuer ungut :smile:

ethereal ist ein Netzwerkschnueffel programm, mit dem kann ich unverschluesselte/verschluesselte pakete im Netz klartext (lies mal verschluesselte im Klartext vorliegende Pakete, da erkennt man GAR nichts, ausser wo es hin soll und wo es herkam, das ist ein Riesenspass) lesen. auch das html kann ich lesen, aber die Kommunikation zwischen einem webserver seinem php und einem anderen gegnerischen Webserver der die seite anfordert laeuft etwas anders.

ansonsten koenntest du auf die art saemtliche Skripte auf beliebigen Servern herunterladen, und das geht einfach nicht. dass waere der Tot fuer alle php seiten im netz.

include („http://was/weiss/ich/wo“); macht nichts anderes als den gegnerischen webserver ueber das http protokoll auf port 80 oder den was weiss ich auch immer port den der Admin eingestellthat, anzusprechen und bekommt von dem webserver einfach nur die ausgehandelte von ihm verarbeitete html seite. aber auf gar keinen Fall nie und nimmer ueber einen geheimen Port umgeht man den Webserver und bekommt das script auf andere art und weise. ausser man hat das wie ich unten auffuere anders geregelt.

da kannst du dann gerne mit deinem Netzwerk Sniffer druerflattern und schnueffeln. das einzige was du sehen wirst ist html. und das kann ich mit meinem Browser auch lesen:
Ansicht->Quelltext anzeigen mit->gvim

man koennte versuchen ueber ein anderes protokoll zu holen, also die entsprechenden Seiten via ssh oder ftp nach anfrage rueberzuschicken (aber nicht via include!), aber das macht keinen sinn ist zu kompliziert und ist dann vielleich ueber ethereal sichtbar, das kann man durch verschluesslung (ssh) aber verhindern. dann anschliessend kann man den code auf dem webserver ausfuehren. dazu muessten aber auf den webserver die Verbindungsdaten liegen, auch nicht sehr clever.

das ist aber alles bloedsinn und totaler kaese.

man kann quellen nicht nur in exe dateien umwandeln sondern sie mit einem tool namens Zend unlesbar machen fuer den menschen. aber weiterhin verstaendlich fuer den webserver.

das wird dann auch fuer dich das richtige sein, wenn du deine quellen schuetzen willst.

gruss josh

Moien

also Pumpkin das ist einfach und schlichtweg absolut falsch.

Er will Skripte von einem fremden Server per include einbinden. Wenn er das tun will (und das ganze sinnvoll ablaufen soll, also z.B. Variablen übergeben werden sollen) muss der andere Server den php-code übermitteln und nicht ausführen. Also .php als txt deklarieren und rüberschicken.

Bist du zufaellig von MS gesponsert
worden um php schlecht zu machen? :smile:

Ich und M$ ? nee…

man koennte versuchen ueber ein anderes protokoll zu holen,
also die entsprechenden Seiten via ssh oder ftp nach anfrage
rueberzuschicken (aber nicht via include!)

include kann durchaus mit ftp und auch ssh (falls das Ding eingebunden ist) umgehen: http://www.usphp.com/wrappers.ssh2.html

das kann man durch verschluesslung (ssh)
aber verhindern.

Falls man doof ist nicht: http://sysadmin.oreilly.com/news/silverman_1200.html Die MITM geht auch bei den aktuellen Implementierungen. Als PC-kundiger kann man aber einfach die certificate austauschen/testen.

man kann quellen nicht nur in exe dateien umwandeln sondern
sie mit einem tool namens Zend unlesbar machen fuer den
menschen.

Was die FAQ auch vorschlägt, der Frager aber nicht versteht. Sein Problem, nicht meins…

cu

Moien

also Pumpkin das ist einfach und schlichtweg absolut falsch.

Er will Skripte von einem fremden Server per include
einbinden. Wenn er das tun will (und das ganze sinnvoll
ablaufen soll, also z.B. Variablen übergeben werden sollen)
muss der andere Server den php-code übermitteln und nicht
ausführen. Also .php als txt deklarieren und rüberschicken.

falsch…
dann würde der php code ausgegeben und nicht ausgeführt werden.
Dazu kommt dass dann wirklich jeder im Internet den php code lesbar hat und gerade das sollte ja vermieden werden…

man koennte versuchen ueber ein anderes protokoll zu holen,
also die entsprechenden Seiten via ssh oder ftp nach anfrage
rueberzuschicken (aber nicht via include!)

include kann durchaus mit ftp und auch ssh (falls das Ding
eingebunden ist) umgehen:
http://www.usphp.com/wrappers.ssh2.html

dennoch wird der code damit nur geladen und nicht ausgeführt. Da Du mit include aber nichts in den Speicher schickst kannst Du es auch nicht mit eval() starten.
include scheidet also wirklich aus bei serverübergreifenden Lösungen…

moin pumpkin,

Moien

also Pumpkin das ist einfach und schlichtweg absolut falsch.

Er will Skripte von einem fremden Server per include
einbinden. Wenn er das tun will (und das ganze sinnvoll
ablaufen soll, also z.B. Variablen übergeben werden sollen)
muss der andere Server den php-code übermitteln und nicht
ausführen. Also .php als txt deklarieren und rüberschicken.

ja, damit kann ich den code herschaufeln. aber eben nicht ueber das http protokoll. so wie du es geschrieben hast einen beitrag vorher. da muss ssh oder ftp her. :smile:. ausser ich habe den webserver so eingerichtet dass er php nicht ausfuehrt, aber das waere mal echt der absolute hammer, die eigenen Quellen zu schuetzen indem man sie offen ins netz stellt :smile:

so wie es dasteht ist es nun mal falsch, sorry

Bist du zufaellig von MS gesponsert
worden um php schlecht zu machen? :smile:

Ich und M$ ? nee…

puh, gott sei dank :smile:

gruetzli josh