2010-11-30 3 views
2

Ich arbeite auf CMS-System mit Smarty. Das Ein-cm-System könnte mehrere Websites mit mehreren Websites, mehreren Vorlagen, mehreren Plug-ins und Komponenten unterstützen ...sicher oder verschlüsseln Smarty-Plugins

Der Kunde kann seine Website unter Verwendung bereits vorhandener Vorlagen registrieren und erstellen und Komponenten auswählen, um sie auf dieser Vorlage anzuzeigen.

Meine Frage ist, dass ich diese Komponenten sicher oder verschlüsselt machen kann. Wenn also der Client seine Site vom Server auf einen anderen Server verlagert, kann er diese Module, Komponenten usw. nicht verwenden oder zumindest nach einer bestimmten Zeit ablaufen.

Ich werde diese Komponenten mit Smarty erstellen Plugins.

Gibt es eine Lösung in PHP, Smarty?

+0

Hm, das ist ziemlich schwierig - da PHP eine interpretierte Sprache ist, ist der Quellcode auch der ausführbare Code. Sie * können * die Plugin-Dateien mit einer Art serverspezifischem Schlüssel verschlüsseln und bei der Ausführung entschlüsseln, was jedoch die Ausführung Ihres Programms verlangsamt. Ich kenne keine vorgefertigte Lösung, die dies dynamisch zulässt (d. H. Für jede Datei). Wie technisch versiert erwarten Sie Ihre Benutzer? Sie könnten damit davonkommen, die Komponenten in ein Verzeichnis zu stellen, das für den Server, nicht aber für CMS lesbar ist. – Piskvor

+0

Nun, meine Kunden sind vielleicht nicht so technisch, aber der Webentwickler, der den Code von einem Server auf einen anderen verschiebt, könnte Programmierer wie wir sein :) Es gibt einige serverseitige Programme wie Ioncube. aber ich möchte nicht auf diesen Weg gehen. – Developer

Antwort

0

Anstatt zu versuchen, die Datei selbst zu sichern, können Sie nur diese Vorlagen privat:

die include_path von PHP Umgebung in einen privaten Ordner einrichten, damit Ihre Anwendung kann die Dateien in diesem Ordner verwenden, Vorlagen enthalten. Ihre Benutzer können die Dateien jedoch nicht einfach abrufen.

+0

Damit dies funktioniert müssen sie immer noch erreichbar sein, damit Ihre Kunden den Inhalt trotzdem bekommen können. – wimvds

+0

Ich stimme den Wimvds zu. – Developer

+0

Das ist tatsächlich subjektiv. Mein Vorschlag ist schnell einzurichten, aber alle Clients mit technischem Hintergrund können den Code mithilfe eines Skripts abrufen ... – Rodolphe

1

Zend Server bietet eine solche Funktion.

0

Wenn Sie nicht so etwas wie den ionCube PHPEncoder verwenden möchten, der Smarty (über einen Patch) ausführen kann, würde ich Ihnen empfehlen, ein Skript zu schreiben, das Codeverschleierung zu Ihren Smarty-Dateien durchführt ein echter Ärger, um sie zu ent-obfizieren. Idealerweise würde das auch eine variable Verschleierung beinhalten, aber Sie müssen dann Ihre PHP-Dateien auch berühren, wenn Sie die Variablen an Smarty übergeben.

Das ist nicht großartig, aber wie gesagt, wenn Sie keinen echten Encoder verwenden, können Sie nicht viel tun.

0

Wie bereits erwähnt ionCube den Job gut tun, aber wenn Sie einige schnelle Lösung ohne Krypta benötigen oder den Code mit einem solchen Werkzeug in Verlegenheit zu bringen, dann müssen Sie etwas ... ich irgendwann habe ich vor remenber codieren, eine Art Wenn ich ein Tool verwende, kryptiere ich die Daten, lege sie dann in eine Datenbank und nach einiger Zeit erhalte ich diese Daten, natürlich mit dem Schlüssel der Passphrase. Dies ist der Weg, aber manchmal kann es Ihren Server sehr langsam machen, besonders wenn Sie viele Benutzer haben.

gut Luck Mann!

Verwandte Themen