Donnerstag, April 9, 2020

Wie verschlüsseln die $_GET-Daten in php?

Als in php verwenden wir $_GET zu übergeben, Variablen in der url , möchte ich weitergeben Variablen, die die Benutzer-id des Benutzers, das will ich anonym sein, so kann etwas getan werden, die verschlüsselt werden können, die variable vor der übergabe und die die variable einmal auf der Seite entschlüsselt werden kann, um die ursprüngliche variable Wert.

zB:

Vor der übergabe der variable $id=10;

Übergeben in der url $id=dasfgjg;

sobald man Sie aus der url und entschlüsselt $id=10;

Wie kann das erreicht werden?

  • Welches problem haben Sie, wenn der Benutzer sieht 10 in der URL, die Sie nicht haben, wenn Sie sehen dasfgjg?
  • mögliche Duplikate von Wie man einen sequentiellen hash-Funktion wie
  • in der Tat, es macht keinen Unterschied. Speichern Sie es in eine $_SESSION, damit der Benutzer nie sehen wird. (wenn möglich natürlich)
  • Das problem, das ich habe ist, dass wenn der Benutzer die Benutzer-id kann er es ändern, und so wird der Prozess wurde bekannt, aus denen zu passieren, die für Benutzer, dessen id ist 10 , wird passieren, für user 12(wenn jemand ersetzt 10 mit 12)
InformationsquelleAutor user1373168 | 2012-05-04

3 Kommentare

  1. 1

    Generieren Sie zufällige Zeichenfolgen (stellen Sie sicher, es ist einzigartig) für jeden Datensatz in der Datenbank und speichern Sie es dort, auch. Dann verwenden Sie diese als identifier. Beachten Sie, dass, natürlich, das hat nichts zu tun mit Verschlüsselung.

  2. 0

    Einen schnellen und schmutzigen Weg, um dies zu erreichen (für jede Anfrage)

    • auf dem client, erstellen Sie einen string wie „xx:10:JJ‘, wobei xx und yy sind strings, der aus pf random characetrs
    • auf dem client, erstellen Sie einen salted hash der Benutzer gesalzen/gehashte Passwort
    • diesen hash als Schlüssel und die Zeichenfolge aus der ersten Kugel als Klartext für die Verschlüsselung mit z.B. crypt.js
    • in der request-senden der verschlüsselten Zeichenfolge und das Salz
    • auf dem server verwenden Sie die Ausstrahlung Salz und der Benutzer gesalzen/hashed Passwort, um den Schlüssel wiederherzustellen
    • auf dem server verwenden, mcrypt oder Freunde zum entschlüsseln der string
    • auf dem server verwenden Sie die standard-PHP-text-processing-Funktionen zum wiederherstellen der Nutzdaten aus den entschlüsselten string

Kostenlose Online-Tests