Kalle_Worms: Wie funktioniert ein PHP-Compiler ?

Hallöle,

wenn ich meine PHP-Programme im kundeneigenen Intranet einsetzen würde, liegen sie ja zunächst im Klartext vor, und der Kunde könnte eigenständig Änderungen vornehmen.

Einerseits aus Copyright-, andererseits aus Produkthaftungsgründen möchte ich jedoch die Verantwortung behalten und nur _selbst_ Änderungen vornehmen.

Nun habe ich mal nach PHP-Compilern gesucht. Bei php.net gibt's das Stichwort gar nicht, bei Google eher als Fragen.

Hat jemand aus dem Forum Erfahrungen mit bestimmten Compilern?

Was braucht man an Zusatz-Software (Compiler, Runtime-Modul, ...)

LG Kalle

  1. Nun habe ich mal nach PHP-Compilern gesucht. Bei php.net gibt's das Stichwort gar nicht, bei Google eher als Fragen.

    Speichere für jede Seite bei Projektübergabe einen MD5 Hashcode.

    mfg
      Franz

    1. Hallo, Franz,

      ... hört sich für eine schnelle Lösung interessant an.

      Es muss für die gesamte Datei xxx.php in der Form
        hash = md5_file ( string filename [, bool raw_output]);

      ein Hashcode erzeugt werden. Und dann ?

      Wenn ich die Abfrage nach diesem Hashcode einbaue, hat sich ja schon die Datei geändert und ist nicht mehr gültig.

      LG Kalle

      1. ... hört sich für eine schnelle Lösung interessant an.
        Es muss für die gesamte Datei xxx.php in der Form
        hash = md5_file ( string filename [, bool raw_output]);
        ein Hashcode erzeugt werden. Und dann ?
        Wenn ich die Abfrage nach diesem Hashcode einbaue, hat sich ja schon die Datei geändert und ist nicht mehr gültig.

        Achso willst du das machen! Ich dachte eher daran, dass das bei Projektübergabe einmal gemacht wird um im falle eines fehlers oder so kannst du überprüfen ob die files von jemand anders verändert wurden.

        mfg
          fuchsi

      2. Hallo!

        Wenn ich die Abfrage nach diesem Hashcode einbaue, hat sich ja schon die Datei geändert und ist nicht mehr gültig.

        Solange man den Quellcode verändern kann funktioniert das nicht. Egal was Du Dir da überlegst, jemand kann den Code so abändern dass Dein Mechanismus keine Wirkung mehr hat. Die von mir genannten Extensions sind in der Lage PHP-Code in ein Format umzuwandeln, welches man nicht mehr so einfach in PHP-Code umwandeln kann, und mit Hilfe einer entsprechenden Zend-Extension können diese "veränderten" Dateien dann zur Laufzeit in PHP-Opcodes für die Zend-Engine umgesetzt werden. Vermutlich ist es nicht unmöglich an den entsprechenden PHP-Code zu kommen, allerdings dürfte sich der Aufwand nicht so schnell rechnen. Mir ist nicht bekannt dass jemals so eine Datei "entschlüsselt" wurde.

        Grüße
        Andreas

        --
        SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
  2. Hello Kalle,

    Du suchst diesen Thread http://forum.de.selfhtml.org/archiv/2004/11/t93745/#m566929

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
  3. Hallo!

    Was braucht man an Zusatz-Software (Compiler, Runtime-Modul, ...)

    Das einfachste wäre ein Encoder/Loader als PHP- oder Zend-Extension.

    Da gäbe es unter anderem:

    * eAccelerator Encoder + Loader
    * Zend Encoder + Optimizer
    * ionCube PHP Encoder
    * PECL::bcompiler

    Grüße
    Andreas

    --
    SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
  4. Hi,

    wenn ich meine PHP-Programme im kundeneigenen Intranet einsetzen würde, liegen sie ja zunächst im Klartext vor, und der Kunde könnte eigenständig Änderungen vornehmen.

    Ja, einer der Vorteile einer interpretierten Sprache.

    Einerseits aus Copyright-,

    Das Urheberrecht wird durch die Lesbarkeit des Codes nicht angetastet. Du kannst Deine Urheberrecht ja noch nicht einmal selber abgeben.

    andererseits aus Produkthaftungsgründen

    Die Produkthaftung zieht nur für Deinen Code, nicht für den von anderen geänderten Code. Nicht nur für die exakte Stelle sondern für den gesammten Code, da Seiteneffekte nicht ausgeschlossen werden können. Problem dabei: das könnte jemand vor Gericht ausfechten wollen und das wird teuer da Zivilprozeß. Aber klagen kann dieser Jemand auch aus anderen Gründen.

    Ich möchte hier zwischendrin einmal darauf hinweisen, das ich kein Anwalt bin, keine Rechtsberatung betreibe und alles nur auf vagen Vermutungen basiert, die am besten ignoriert werden sollten.

    möchte ich jedoch die Verantwortung behalten und nur _selbst_ Änderungen vornehmen.

    Dann darfst Du das Zeug auch nicht veröffentlichen, egal in welcher Form. Der Gesetzgeber hat das nämlich den Kunden ausdrücklich erlaubt.

    Aber mal andersrum:
    Wenn der Kunde so gewieft ist Änderungen selbsttätig auszuführen, dann besteht die Gefahr, das er Deine Methode nicht gut heißt, Dich gar gierig schimpft und auf die Konkurrenz ausweicht, seinen Mist gleich ganz selberschreibt oder bei Sourceforge/Freshmeat schaut ob sich nicht da was findet, das nicht nur ganz umsonst ist sondern wo sich der Autor sogar noch freut, wenn jemand seinen Kram ändert.

    Sieh also zu, das Du Deinen Service verbesserst, dann bleibt der Kunde bei Dir und Du kannst ordentlich verdienen. Als kleiner Unternehmer kannst Du heutzutage mit fertiger Software einfach kein Geld mehr machen, das liegt jetzt im Servicegeschäft. Und Service ist _Dienst_leistung, nicht _Zwangs_leistung!

    so short

    Christoph Zurnieden

    1. Hi,

      Sieh also zu, das Du Deinen Service verbesserst, dann bleibt der Kunde bei Dir und Du kannst ordentlich verdienen. Als kleiner Unternehmer kannst Du heutzutage mit fertiger Software einfach kein Geld mehr machen, das liegt jetzt im Servicegeschäft. Und Service ist _Dienst_leistung, nicht _Zwangs_leistung!

      ACK - auch sonst.

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!