Codeschutz für PHP Scripte

Hallo,

folgendes Problem. Ich möchte bestimmte Codeabschnitte Schützen. Das soll heissen, dass wenn dieser Codeabschnitt entfernt oder ersetzt wird, soll das Script nicht mehr lauffähig sein. Nun soll es natürlich auch so sein, dass man diesen Schutz selbst auch nicht entfernen kann.

Ich überlege schon die ganze Zeit hin und her, komme jedoch nicht auf die richtige Lösung. Evtl. msste man ja auf andere sprachen zurückgreifen um dies zu realisieren.

Ich möchte also folgendes nochmal verdeutlichen ich habe ein Script mit z.B. eneigen Platzhaltern, z.B. folgendes:

<?php include("das ist ein Pfad");
if($eineVariable == 0 ) { echo "einene Satz"; } {EIN\_PLATZHALTER} ?\> Dieser PLatzhaltersoll eben geschützt werden und bei entfernung oder austausch soll das Script nicht mehr funktionieren. Danke für die Hilfe Michael

hi…

der obligatorische nasenruempfer…
das gehoert natuerlich n brettchen tiefer (PHP BOARD)
aber hier mein ideen ansatz…

nicht ganz klar wird, vor was du deinen code schuetzen willst.
willst du den code weitergeben?
dann kannst du das sowieso nicht verhindern, dass jemand an
deinen funktionen schraubt. du kannst es nur erschweren…
also… ne menge sinnloser methoden bauen, die nichts machen…
und irgendwo eine methode, die eine andere methode aufruft, die eine
methode aufruft… die eine methode aufruft… die eine dateiverlangt… oder einen anderen schnipsel… das geht natuerlich…
man kann auch code-crusher benutzen… kenne keinen freeware zerstoerer…kosten alle geld…
die machen deinen php code unleserlich und man kann ohne weiteres den code nicht auseinanderfriemeln…

die einzige idee die mir noch einfaellt ist die checksumme der aufgerufenen datei abzufragen… allerdings musste das bei jedem update anpassen… und naja… auch das kann man entfernen…

grusz

PixelKoenig

<?php :include("das ist ein Pfad");
if($eineVariable == 0 ) { echo "einene Satz"; } {EIN\_PLATZHALTER} ?\> Dieser PLatzhaltersoll eben geschützt werden und bei entfernung oder austausch soll das Script nicht mehr funktionieren. Danke für die Hilfe Michael

Hi,

Also der Beitrag icst schon ganz richtig hier, denn es hanedlet sich zwar um PHP Code der geschützt werden soll, doch suchte ich auch nach einer Lösung mit JavaScript :smile:

Der Code wird komplett weiter gegeben. Dabri handelt es sich nicht einmal um meinen eigenen Code, ich kann also keine großen veränderungen vornehmen und ganze Scripte umcoden.

Im Groben beschrieben, führe ich ein PHP Script auf, welches aus anderenScripten bestimmte stellen des Codes gegen von mir generierten Code austauschen. Dieser Code wird dann anderen Anwendern, welche auch zugriff auf den Code haben MÜSSEN zur verfügung gestellt. die ausgetauschten Codeteile sollen jedoch nicht veränderbar sein.

Ich zermarter mit hier schon da Hirn wie doof. Ohne eine Lösung für das Problem, kann ich diese sache nicht realisieren. Kannleider nicht mehr darüber erzählen, da es sich um eine völlig neue Sache handelt und ich nur Details nach unterzeichnung eines NDA preis geben kann.

Danke für die antwort.

Michael

suchte ich auch nach einer Lösung mit JavaScript :smile:

naja… aber javascript schalte ich einfach ab.
man kann zwar seinem code sagen, ohne javascript laeufst
du bitte nicht… aber das ist unschoen und schliesst doch
in der tat mehr user aus als man denkt… die naemlich
JS abgeschaltet haben. was ich im ueberigen
auch immer haeufiger tue.

Der Code wird komplett weiter gegeben. Dabri handelt es sich
nicht einmal um meinen eigenen Code, ich kann also keine
großen veränderungen vornehmen und ganze Scripte umcoden.

na… dann kann man schon mal sagen, dass du den code nur noch mit einem crusher unkenntlich machen kannst… sonst kann man den nicht schuetzen. alle anderen tricks die mir in meinem letzten posting eingefallen sind, sind mit ein wenig php kenntnis schnell geknackt und stellen lediglich huerden aber kein hindernis dar.

Im Groben beschrieben, führe ich ein PHP Script auf, welches
aus anderenScripten bestimmte stellen des Codes gegen von mir
generierten Code austauschen. Dieser Code wird dann anderen
Anwendern, welche auch zugriff auf den Code haben MÜSSEN zur
verfügung gestellt. die ausgetauschten Codeteile sollen jedoch
nicht veränderbar sein.

hola… das muss man dreimal lesen, damit man das prinzip versteht.
du merged also mehrere fremd-schnipsel…aenderst via script ein paar codestellen und stellst das dann somit nutzern als ganzes zur verfuegung… ist das richtig so`???

wenn das script nur online funktioniert… naja… du koenntest dir ja ein paar verkettungen mit einem script auf deinem webserver basteln…
aber alles wie gesagt … nur huerden…und wahrscheinlich ein riesen aufwand.

man muesste halt auch fragen, vor wem du das schuetzt… wer sind die kunden… koennen die sowas knacken…wollen die sowas knacken… welchen aufwand betreibt man , um scripts zu schuetzen… und
die masterfrage… warum scripts schuetzen, die irgendwo schon existieren?

ich weiss nicht ob es crusher gibt, die automatisiert scripts on the fly / online encoden… aber javascript sollteste mal vergessen… das kann man als add on benutzen… um die ganz simplen user vom code fernzuhalten.

grusz

PixelKoenig

eine crusherlösung kommt nicht in Frage, da der Code für die Kunden veränderbar bleben muss. Es geht um PHP Projekte wie CMS z.b. Die kunden bekommen den kompletten Code zur verfügung gestellt. geändert werden, dürfen allerdings nur die Templates und nicht der Code. Trotzdem soll dieser erkennbar bleiben.

Das CMS wird immer auf dem Server des Kunden, vom Kunden installiert.
Ohmann, es ist versammt kompliziert zu erklären, wenn man nicht genauer in Detail gehen kann.

Ich würde dir gerne mal die NDA zukommen lassen, damit du das ganze Konzept siehst. Dann wirst du den umfang erkennen und evtl. auch eine Lösung wissen. die NDA müsstest du bitte unterzeichnen und mir zufaxen. erst dann kann ich dir das Konzept geben.

Danke

Michael

dann weiss ich auch nicht weiter… :frowning:

Die kunden bekommen den kompletten Code zur verfügung
gestellt. geändert werden, dürfen allerdings nur die Templates
und nicht der Code. Trotzdem soll dieser erkennbar bleiben.

warum dann nicht den code crushen und die templates decodiert lassen?

die NDA müsstest du bitte
unterzeichnen und mir zufaxen. erst dann kann ich dir das
Konzept geben.

neeeee…
brauch gar keine waschmaschine mehr :wink:
vielleicht gibts ja doch noch einen der da weiterhelfen kann.
zum konzepte lesen fehlt mir leider ein wenig die zeit :frowning:

grusz aus B

PixelKoenig

Hallo Michael

Es ist überall dasselbe.

Solange es sich um Script handelt, gleich ob um Java, php oder asp wird der Klartext auf dem Server gespeichert.

Bei meiner Homepage sind die Scripte, welche unter anderem auch den Inhalt in die Html Seiten senden, im Ordner „private“.
somit ist das nur noch per passwort zugänglich. Aber AOL und vielleicht ein Hacker bekommen es trotzdem, auch weil Ihr Inhalt über die Schnittstelle geht und nicht verschlüsselt ist.

Die einzige Chance, die ich sehe, ist die Verwendung eines Hardwarekeys.
Das bedeutet, der Server bekommt eine Erweiterung in Form einer dll.
Deine Internetseiten rufen die dll auf, in der unter anderem die zu schützenden Funktionen erhalten sind, und die dll fragt den Schlüssel ab. Gibts auch für Netzwerk.
Schwerer Nachteil: Ob man auf einem Server einen Schlüssel und eine Erweiterung in genannter Form installieren darf, ist fraglich.
Auch hat es dann nicht mehr viel mit Script zu tun.
Etwas einfacher ist es möglicherweise, wenn man Asp-Script mittels VB in eine dll umwandelt, und diese dann abhängig vom Schlüssel gemacht wird. Aber da bin ich aus dem Grund nicht so von begeistert, weil außerdem noch zusätzliche Laufzeitdateien benötigt werden.
Am besten wäre eine Assembler-dll als Server-Erweiterung.

Du sagst, du wärst gegen diese als „Crusher“ bezeichneten Programme.
Ich glaube außerdem, das man das Crushen leicht rückgängig machen kann. Wenn das crashen aber gut funktioniert, warum nicht?
Ich muß noch mal nachsehen, ob java-script das „include“ erlaubt, das Einschließen von anderem Code mein ich.
Damit kannst Du in einer Distribution den sensiblen Teil „crashen“, die verwendeten Objekte usw. aber beschreiben, so das sie für den Kunden trotzdem verwendbar sind.
Ach ja, man kann ja auch gecrashte Daten klauen. Mach Ihn dann Serverabhängig oder so… keine Ahnung.
MfG
Matthias