PHP : Formular-Beispiel, das verschlüsseln query-string (GET) (Daten verstecken statt Sicherheit)
Will ich verwenden für meine form, aber möchten, verschlüsseln Sie die Werte in den query-string so, dass die Benutzer nicht in der Lage, es zu ändern. (nicht für Sicherheit, sondern für Daten versteckt Zwecke)
Stieß ich auf ein paar websites, die erklärte, die Verschlüsselung, aber es ist mir nicht klar, wie es zu implementieren, wenn der Benutzer drückt den Absenden-button. Ex: http://myscriptlibrary.wordpress.com/2010/04/14/how-to-encrypt-query-string-in-php/
Gibt es ein Beispiel, das zeigen könnte?
Dank.
InformationsquelleAutor SEU | 2012-08-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus meinem Verständnis der Verknüpfung, die Sie zur Verfügung gestellt. Sie verschlüsseln möchten die GET-Variablen, oder zumindest zu verschleiern.
Die beste und einfachste Weg, dass dies getan werden könnte, ist mit
base64_decode/encode
Zum Beispiel für die Kodierung der Zeichenfolge, die Sie tun würde, so etwas wie:
$link
Aussehen würde, so etwas wiehttp://www.example.com/?item=rklgEwkelnf%3D%3D
, aber zu übersetzen, die scheinbar verstümmelt (base64ed) text in etwas Verwertbares, die Sie verwenden würden:Dann können Sie frei verwenden Sie die
$_GET
variable als Sie normalerweise würde.Das müsste getan werden via javascript. Ich werde versuchen, mockup-Lösung.
Hier ist ein stackoverflow-link, wie base64-codieren in javascript: stackoverflowalles, was Sie würde tun müssen, ist, Kodieren Sie den string für die Anfrage an den server. Und dann lassen Sie das PHP den rest erledigen.
InformationsquelleAutor Glenn Dayton
Die folgende Lösung ist einfach zu implementieren und ist stark genug, es sei denn, Sie befassen sich mit sehr sensiblen Daten wie Kreditkarten-Informationen oder NASA-algorithmen...
Beim senden der parameter über. HOLEN Sie sich - fügen Sie einen hash-Wert zusammen mit ihm, zum Beispiel:
Dann, wenn Sie Lesen, die Parameter prüfen, dass der hash ist eine gültige:
guter Punkt +1 :)))
Ich glaube, er war auf der Suche nach verstecken der Werte: "nicht für Sicherheit, sondern für Daten versteckt Zwecke"
hmmm... für Daten versteckt, kann er entweder die POST oder ein Formular Absenden mit verborgenen Parametern. das klingt zu einfach...
So sollten Sie überlegen, @Glenn Dayton-Lösung. Ich würde akzeptieren, seine Antwort!
InformationsquelleAutor alfasin
Akzeptierte Antwort hier nicht bieten keine wirkliche Schutz. Sie können nur die codierten Parameter und setzen Sie Sie in einem online-base64_decode und es zeigt die Werte als wenn man nur an Ihnen vorbei direkt!
Die andere Antwort verwendet $hash, als ein pass durch die Wert, aber dieser Wert wurde nicht nur definiert, $Hash.
InformationsquelleAutor HeavyHead
1 - Crypt Ihre var
2 - Stellen Sie sicher, zu codieren richtig mit base64 MIME.
3 - Tun Sie, was Sie wollen (Beispiel : speichern Sie in Ihrer Datenbank, um zu entschlüsseln, später pass zu BEKOMMEN, etc ...)
4 - Decode base64 sicher Ihre var.
5 - Entschlüsseln Sie Ihr var
Implementiert habe ich eine Klasse, die nicht den job. (security and data hiding)
Openssl-Methode mit aes-256-cbc-Modus zu sichern crypt (vergessen Sie nicht Initialisierungsvektor)
Beispiel :
//Später gehen in $_GET beispielsweise
//In der anderen Seite, die Wiederherstellung Ihres var
syntax error, unexpected ','
in Zeile 24Aktualisiert, kleine Fehler nach einem Komma. Vergessen Sie nicht, Ihre Sicherheit zu cipherSeed
InformationsquelleAutor Louis Schwartz