& [MySQL] Framework schützen

  • Nacht Zusammen!

    Folgende, größere Fragestellung: Man hat ein Framework basierend auf PHP & MySQL entwickelt, dass man weiterverkaufen möchte. Die Lizenz soll aber nur die Nutzung und nicht die Einsicht in den Sourecode umfassen. Weiters gibt es Teile diese Frameworks, die für die Administration des Frameworks und der gesamten Applikation, und Teile, die nur für die auf dem Framework aufbauende Applikation zuständig sind. Hinzu kommt noch, dass es für das Framework Upgrades geben wird, die man möglichst mühelos und reibungsfrei einspielen möchte.

    Wie würdet Ihr das Ganze angehen? Getrennte DBs oder nicht? Verschlüsselung? Wie, womit? Die PHP-Skripte für die einzelnen Seiten könnten in der Datenbank gespeichert werden. Die Datenbank soll aber beim Kunden und nicht zentral auf einem Server liegen. Wäre dankbar für Hints und stehe für Fragen bei Unklarheiten der Fragestellung bereit.

    Greets, Maciek.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Zitat von Usher

    zend encoder (für php skripte) - glaube so heißt das Ding.


    danke, aber das löst für mich die Fragestellung mit der Datenbank (noch) nicht. Das Problem, dass ich hab ist allgemein: "Wie fang ich mit dem Schützen an?" Wie verweigere ich dem Kunden den Zugriff zu einer Datenbank, die bei ihm am Computer liegt? Wo/wie lege ich das Passwort ab, dass PHP braucht, um sich zur Datenbank zu connecten? Kann ich das Skript mit dem Passwort einfach mit dem Zend Encoder verschlüsseln und das war's?

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Zitat

    Wie verweigere ich dem Kunden den Zugriff zu einer Datenbank, die bei ihm am Computer liegt?


    1. ist das ein etwas schwachsinniger gedanke (in meinen augen), ist ja schließlich die datenbank des kunden.
    2. wirst du wahrscheinlich net viel glück haben da deine Kunden sowieso root-Rechte auf die datenbank haben werden und das verschlüsseln des zugangsskriptes mit passwort drinnen sowieso keinen sinn hat. musst so wie ich das sehe den gesamten datenbankinhalt verschlüsseln.

  • eine Datenbank, die beim Kunden liegt, kann man meines Wissens nicht vor Zugriff schützen. Ausser vielleicht bei einer Datei mit irgendwelchen wirren Zeichen, die keinen sonstigen Zugriff darauf bietet als per selbstgeschriebener Anwendung. Oracle z.B. bietet immer Möglichkeiten, die mir als root auf der Maschine erlauben, mich als sysdba einzuloggen (ohne ein Passwort eingeben zu müssen). Auch bei mysql wird's das vermutlich geben.
    Zum Zend Encoder: ja der käuflich erwerbbare Encoder verschlüsselt das soweit ich weiß in eine Art "bytecode". Man kann das PHP-Programm sogar an eine MAC-Adresse binden ;o)
    Die daraus entstandenen Dateien kann man nicht mehr allein mit php ausführen - man holt sich dazu eine Art "Gratis-Decoder" von Zend (weiß jetzt aber nicht wie das Produkt genau heißt).

  • Zitat von bimbo

    1. ist das ein etwas schwachsinniger gedanke (in meinen augen), ist ja schließlich die datenbank des kunden.


    es ist zwar seine DB, aber der Inhalt, der das Framework umsetzt (die Skripte, die Templates, die Queries liegen alle in der DB) gehört nicht ihm. An diesem hat er nur Nutzungsrechte. Und nachdem nicht alle Leute so ehrlich sind, dass sie etwas was ihnen nicht gehört, nicht angreifen, muss man das irgendwie schützen. Auf seine Kundendaten und was weiß ich was, soll der Lizenznehmer aber natürlich zugreifen dürfen.

    Wenn es also so, wie ich es beschrieben hab, nicht geht, wie würdet Ihr es dann machen?

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Zitat von Usher

    Die daraus entstandenen Dateien kann man nicht mehr allein mit php ausführen - man holt sich dazu eine Art "Gratis-Decoder" von Zend (weiß jetzt aber nicht wie das Produkt genau heißt).

    Zend Optimizer, heißt das, wenn ich mich richtig erinnere, gibts glaub ich auch auf der Zend Homepage zum download

  • Zitat

    Wenn es also so, wie ich es beschrieben hab, nicht geht, wie würdet Ihr es dann machen?


    lass dir dein programm patentieren, dann hast weniger kopschmerzen. :tongue1:

    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.» 

    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  • Zitat von Wings-of-Glory

    lass dir dein programm patentieren, dann hast weniger kopschmerzen. :tongue1:


    naja ... also erstens zielt das Patentieren ebenfalls auf "ehrliche Menschen" ab und zweitens wird's wahrscheinlich mehr Kosten als das zum Einsatz bringen einer Verschlüsselung der Skripte bzw. der Datenbank(teile) in der richtigen Form. :(

    *** Make it idiot proof, and someone will build a better idiot. ***

  • naja, aber ich glaub du sitzt dennoch am kürzeren ast. maschinencode lässt sich mit mehr oder weniger aufwand wieder in lesbaren source code zurückverwandeln.
    ich glaub, wenn du dich rechtlich absicherst, hast du eventuell mehr erfolg, als wenn du zeit und energie im "verschlüsseln" von source code verschwendest.

    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.» 

    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  • Zitat von Wings-of-Glory

    naja, aber ich glaub du sitzt dennoch am kürzeren ast. maschinencode lässt sich mit mehr oder weniger aufwand wieder in lesbaren source code zurückverwandeln.
    ich glaub, wenn du dich rechtlich absicherst, hast du eventuell mehr erfolg, als wenn du zeit und energie im "verschlüsseln" von source code verschwendest.


    hmmm ... also ganz ohne Verschlüsselung, wird es meiner Meinung nach nicht gehen. Man muss meiner Meinung nach eine Mindestmaß an (möglicherweise überwindbarer) Hürde finden, damit sich nicht jeder "einfach" die Daten greifen kann ... rechtlich abgesichert sollte man ja dadurch sein, dass man einen Vertrag über die Nutzungsbedingungen mit der Person abschließt.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • machs dir nicht zu kompliziert, setz für die php-quellfiles die zend-komponente ein und fertig.. alles andere (datenbankspezifisches) wirds doch aufwand/nutzen-mäßig nicht wert sein.. was bringts den leuten, die datenbankinhalte zu kennen, wenn die logik verschlüsselt ist? ..wenns jemand drauf anlegt, das zu re-engineeren, bitte.. die frage würd ich mir allerdings dann mal konkret stellen, wenn für ein paar tausend € lizenzen verkauft wurden...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!