PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie kann man ein PHP-Programm absichern?


sandro33
30.04.2008, 00:17:45
Hallo,
auf einem Ubuntu-Server soll ein PHP-Programm gegen Diebstahl abgesichert werden. Das Programm liegt mit Hilfe von “Zend Guard“ in Binärform auf dem Server.

Wenn zum Beispiel der Server angegriffen wird und das Programm kopiert wird, oder wenn der Provider das Programm kopiert, denn der Provider hat einen direkten zugriff auf die Festplatte. Wie kann ich am besten das Programm schützen?

Wie sicher ist, wenn ich wie folgt nach IP-Adresse bzw. Domainname abfrage:

If(($_SERVER[’SERVER_ADDR’] ==’12.34.56.78’) && (($_SERVER[’SERVER_NAME’] ==’Meindomein’))

Ist diese Methode sicher oder kann man irgendwie die $_SERVER –Variablen manipulieren?

Hat jemand vielleicht eine bessere Idee?

Vielen Dank im Voraus.
Gruß, Sandro

Domi
30.04.2008, 02:44:37
Wenn er direkt Zugriff auf die Festplatte hat, dann brauchst du keine PHP-Scripte schreiben die noch irgendwas abfragen.... :)

Area51
30.04.2008, 06:10:54
Mit festen IP-Adressen kann man sowieso nicht vernünftig arbeiten...

Mal schnell nen Proxy dazwischengeschaltet und dann is die Katze im Sack.

cortex
30.04.2008, 10:32:14
wenn die skripte via zend encoder / ioncube etc. im binärformat vorliegen, bist du im prinzip auf der sicheren seite - egal, wer die "verschlüsselten" files in die hände bekommt. schutzmechanismen wie server-domain- / ip-abfrage sind bei zend und ioncube pro/cerberus neben anderen "netten spielereien" inkludiert.
eine abfrage der server-domain macht sinn, da sich diese sicher nicht ungewollt ändert; bei ip-adressen bin ich persönlich etwas skeptisch - das hat man nicht unter eigener kontrolle.

wenn die files nicht "verschlüsselt" sind, brauchst du dir keine gedanken um einen schutz / klau deiner skripte machen, da ein schutz "nach innen" - bspw. gegen den provider oder skrupellose kunden - nicht möglich ist.

cx

sandro33
30.04.2008, 12:32:51
Hallo,
danke für die Antworte. Also, habe ich verstanden, mit IP-Adresse kann man keine vernünftige Absicherung realisieren.

Aus einem anderen Forum habe ich folgendes auf meine Frage geantwortet bekommen:

Einfache Antwort: Garnicht!

In entsprechenden Kreisen gibt es entsprechend modifizierte PHP Versionen in die man beliebige PHP "binär" Daten reinkloppt und normaler PHP code rauskommt.

Bei Zend bekommt man sogar sehr gut lesbaren code heraus, andere Programme ersetzen noch Variablen Namen mit a1, a2, a3, etc. das macht den Code dann schwerer zu lesen, aber bringt nicht wirklich was.

Es scheinen, dass es keine einfache Lösung zu finden gibt. Wenn man den Code wieder lesbar machen kann, wird das Schützen des Programms sehr schwierig! Vor allem z. B. der Provider könnte die gesamte Festplatte 1:1 kopieren.

Wenn ich daran denke, dass der verschlüsselte Quell-Code von “Zend Guard“ wieder lesbar werden kann, scheint mir das Ganze nicht so einfach!

Falls jemand eine gute Idee hat, für eine Mitteilung wäre ich sehr dankbar.

Gruß, Sandro

cortex
30.04.2008, 12:53:50
lieber sandro, so viele menschen - so viele meinungen. wie richtig / glaubwürdig diese sind, musst du selbst entscheiden. die von dir zitierte antwort "aus einem anderen forum" klingt in meinen ohren weder informativ, noch gut informiert / recherchiert.
ansonsten habe ich mich bereits zu dem thema geäussert. wenn du weiterhin zweifelst, empfehle ich dir eine suche im netz. eins ist sicher: bei dem thema wird sehr viel blödsinn erzählt - bilde dir am besten selbst eine meinung.

auf der website des ioncube encoders kannst du dir sehr viel über das funktionsprinzip einer "verschlüsselung" von php-files aneignen:

http://www.ioncube.com/

es gab letztes jahr eine interessante diskussion im heise-forum, als zend guard 5 erschien:

http://www.heise.de/newsticker/Zend-Guard-5-verschluesselt-PHP-Code--/meldung/93562

cx

sandro33
30.04.2008, 13:40:53
Danke für die Tipps.
Ok, ich werde noch etwas besser recherchieren, sonst bleibe ich erstmal bei der Verschlüsslung von “Zend Guard“.

Gruß, Sandro