Schutz vor Codeentfernung

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");<br />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

Hallo Michael,
ich nehme an du möchtest eine art „template“ den usern zur verfügung stellen
in dem sie selbst rum arbeiten können, möchtest aber verhindern das
diese aus versehen oder auch willendlich deine php codes verändern…

als einfachste lösung würde mir einfallen „strstr()“ abfrage über das template laufen zu lassen und nur wenn der string enthalten ist wird es ausgeführt.
eventuell auch verkettet.
dafür müste von deinem system natürlich auch sicher gestellt werden das die php dateien nicht direkt aufgerufen werden sondern per include() eingeladne werden.

wenn du den usern den gesamten quell text deines programmes zur verfügung stellst und nur willst das sie z.B eine art copy right nicht entfernen.
denke ich das es unmöglich ist so etwas zu realisieren. (jedenfalls in php)

gruss chris

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Daran habe ich auch schon gedacht. Aber der Fall ist eben so wie du als zweites vermutet hast. Es wird der gesammte Code zur verfügung gestellt und kann auch geändert werden, nur eben diese Stellen nicht. Die Platzhalter waren auch nur ein Beispiel, prinizpiell handelt es sich um codeabschnitte, welche eine Verbindung zu einer API herstellen.

Leider kann ich nicht näher darauf eingehen, da es sich um eine neue Erfindung handelt, welche sich noch in der Entwicklungsphase befindet und ich nur nähere Informationen nach unterzeichnung eines NDA preis geben kann, aber ich kann keine includes verwenden. Was das Problem auch noch erschwert.

HAbe auch im JavaScriptForum gepostet, mal sehen vielleicht gibt es ja da eine möglichkeit.

Trotzdem Danke für die Antwort

Daran habe ich auch schon gedacht. Aber der Fall ist eben so
wie du als zweites vermutet hast. Es wird der gesammte Code
zur verfügung gestellt und kann auch geändert werden, nur eben
diese Stellen nicht. Die Platzhalter waren auch nur ein
Beispiel, prinizpiell handelt es sich um codeabschnitte,
welche eine Verbindung zu einer API herstellen.

das ist natürlich doof und schwer zu lösen - quasi unmöglich - ausser Du baust es so komplex ein, dass quasi das ganze script neu programmiert werden müsste um diese Stelle zu entfernen.
Mein Tipp dazu wäre diesen betroffenen Teil auszugliedern und an verschiedenen Stellen zu prüfen ob diese Datei vorhanden ist bzw was der Inhalt der Datei ist…
Auch möglich wäre zu prüfen wann die Datei geändert wurde…
am geschicktesten wäre das natürlich wenn Du eine art „installer“ bastelst, der dann auf dem Server das erstemal die Zeit ermittelt damit auch nichts schief geht wenn das Datum neu gesetzt wird und der das dann auch in das Script schreibt.
Verschiedene Rückgaben, die durch ein includieren des Scriptes gesetzt werden könnten ebenso überprüft werden. Zur konfusion könnte man auch den anderen weg gehen also

index.php ->
$variable = 1;
include (meinscript.php);
if (isset($variable)) die („du wiederst mich an…“;

meinscript.php ->
unset ($variable);

nach unterzeichnung eines NDA preis geben kann, aber ich kann
keine includes verwenden. Was das Problem auch noch erschwert.

das macht das ganze seeeehr schwer…
require auch nicht? *duck*
Ich hab mal ein Script gesehen, das seine eigene Dateigrösse gecheckt hat - aber dann dürfte darin eben garnichts verändert werden…

Also Require geht auch nicht, keine Form des includes kann verwendet werden zumindest nicht für diesen Schutz. Ich kann leider nciht mehr dazu sagen. Ist verdammt kompliziert, ich weiss. darum auch die Frage in das Forum, weil ich alleine sicher nicht drauf kommen werde.

Danke

Michael

kannst Du sagen warum? fällt irgendwie schwer nachzuvollziehen was Du nicht ausblenden willst und warum und so - und warum include dafür nicht verwendet werden darf… (aber für andere Dinge schon???)

Kann ich leider nicht :frowning:

Wie es ist:
Du hast eine Datei mit zu schützenden Bereichen, die nicht veränderbar sein dürfen aber sichtbar sein müssen.
Es gibt innerhalb der Datei aber auch Bereiche, die ungeschützt sind und bearbeitet werden dürfen…

Wenn es möglich wäre, eine Art „Meta-Programmiersprache“ zu nutzen,
dann könntest du es mit Hashes machen. In dem der geschützte Bereich getaggt wird, daraufhin überprüft wird…
Inwieweit und dadran schon gedacht oder es auch nicht für möglich hälst, weiss ich nicht… Aber das wär ne spontane idee von mir…

Grüße,
der.helge