Ich habe eine Anwendung mit PHP erstellt und ich werde es auf meinem lokalen Markt verkaufen. Ich werde persönlich zu ihren Standorten gehen, um Apache & MySQL zu installieren/konfigurieren sowie meinen eigenen Code zu installieren.Get Computer Unique ID von PHP
Ich möchte ein Sicherheitssystem, so dass, wenn jemand versucht, meinen Code auf eine nicht autorisierte Maschine zu kopieren, wird es nicht ausgeführt.
Ich weiß, niemand kann Reverse Engineering einer Anwendung verhindern. Sogar .exe (binäre) Dateien sind geknackt und mit PHP (Quellcode) kann jeder machen.
In meinem Land diejenigen Reverse Engineers wirklich schwer zu finden sind, so würde Ich mag wie minimale Sicherheitsoptionen vorzuschlagen:
1) Erstellen Klasse (sagen wir, Navigation
) identifiziert, Systeminformationen wie CPU-ID, Computername oder eine beliebige Kombination von Hardware-ID, um eine UNIQUE_ID zu erstellen, und stimmt mit meiner angegebenen UNIQUE_ID überein (an die Person, an die ich die Anwendung verkauft habe). Wenn es gültig ist, wird das Navigationsmenü angezeigt. Sonst wird es einfach die Datenbank zerstören und die Ausführung anhalten, indem eine Ausnahme zu werfen, vielleicht mag:
class Navigation {
public function d() {
return current system UNIQUE_ID;
}
public function get() {
$a = file_get_contents('hash');
$c = $this->d();
if (crypt($c) != $a) {
//destory database
throw new Exception('');
} else {
return "<ul><li><a>home</a></li></ul>"; //navigation menu
}
}
}
2) Dann während der Installation werde ich System UNIQUE_ID in „hash“ Datei ändern, erstellen Sie ein Objekt, und speichern sie sie in eine Datei (nav.obj):
(install.php)
<?php
$a=new Navigation;
$out=serialize($a);
file_put_contents('nav.obj', $out);
3) in header.php (die in jeder Datei enthalten wird):
<?php
$menu=file_get_contents('nav.obj');
$menu=unserialize($a);
echo $menu->get();
?>
Ich weiß, diese Methode nicht die volle Beweis ist, aber ich bin mir ziemlich sicher, dass rund 60% des PHP-Entwicklers wird es nicht in der Lage sein zu knacken!
Jetzt brauche ich nur aktuelle System UNIQUE_ID zu bekommen.
was ist mit DOMAIN? Stellen Sie es auf die Domäne ein, wo es funktionieren soll, machen Sie einen Hash und überprüfen Sie es. – Robert
Es gibt nicht so etwas wie ein System eindeutige ID – Anigel
Und jetzt, wenn Sie dies offen veröffentlicht, die 60% bis 10% sinken ... –