Verschlüsselung von GET
jenslm
- sonstiges
ist es moeglich die GET-Veriablen irgendwie zu verschluesseln?
so das aus ?id=55 dann etwas wie ?id=b53b3a3d6ab90ce0268229151c9bde11 wird.
Das ware dann jetzt der MD5-Hash dazu
lg, jens
Moin Moin!
ist es moeglich die GET-Veriablen irgendwie zu verschluesseln?
Wozu soll das nötig sein? Sprich: Was ist Dein eigentliches Problem?
Wenn Du Daten geschützt übermitteln willst, benutze HTTPS statt HTTP.
so das aus ?id=55 dann etwas wie ?id=b53b3a3d6ab90ce0268229151c9bde11 wird.
Das ware dann jetzt der MD5-Hash dazu
... aus dem Du nie wieder die 55 gewinnen wirst, denn MD5 ist eine Einweg-Hash-Funktion, keine Verschlüsselung.
Alexander
... aus dem Du nie wieder die 55 gewinnen wirst, denn MD5 ist eine Einweg-Hash-Funktion, keine Verschlüsselung.
Aber klar, bei einer begrenzten Menge möglicher Werte (hier scheinbar: Zweistellige Zahlen) wäre hier Bruteforce vielleicht sogar erfolgreicher als Regenbogentabellen. Oder aber Tabellen ohne Regenbogen, einfach alle 100 Hashes speichern ^^
Aber klar, bei einer begrenzten Menge möglicher Werte (hier scheinbar: Zweistellige Zahlen)
Interessante Schlussfolgerung :-)
Das bedeutet also dass dieses Forum nur genau 7-stellige Nicks zulässt, denn schließlich hat meiner ja 7 Buchstaben.
Aber klar, bei einer begrenzten Menge möglicher Werte (hier scheinbar: Zweistellige Zahlen)
Interessante Schlussfolgerung :-)
Nee, Annahme :)
Tatsächlich hätte ich sogar drei Ziffern angenommen, aber wenn ich zwei behaupte schien mir mein Beitrag äääh gewichtiger :-D
Was weiß ich wie viele Dinge er _ID_entifizieren (wieder eine Annahme) will.
so also was ich damit erreichen wollte war einfach nur das die id nicht einfach ausgelesen werden kann. also dass mann nicht drauf guck und direkt weiß ok das ist der 55 datensatz.
lg, jens
ist es moeglich anstatt den normalen primary key (bei mir die spalte id) auch als zufaelligen zahlen-buchstaben-code dazustellen.
also anstatt id=5
das der dantesatz einfach automatisch die id=45hgjfdl5382 oder so bekommt??
Hallo,
ist es moeglich anstatt den normalen primary key (bei mir die spalte id) auch als zufaelligen zahlen-buchstaben-code dazustellen.
das der dantesatz einfach automatisch die id=45hgjfdl5382 oder so bekommt??
ja. Selbstverständlich kann auch eine Textspalte Träger des Primärschlüssels sein.
Freundliche Grüße
Vinzenz
und welche textspalte, wie stell ich ein wie hochgezaehlt wird?
lg, jens
Hallo Jens,
und welche textspalte
jede beliebige :-)
wie stell ich ein wie hochgezaehlt wird?
gar nicht. Du bist selbst dafür verantwortlich, geeignete Inhalte zu verwenden.
Bei MySQL könntest Du zum Beispiel die Funktion UUID() verwenden. Und ja, sowas Nettes wie LAST_INSERT_ID() gibt's dafür nicht.
Was ist Dein Ziel? Möchtest Du, dass bestimmte Inhalte nicht einfach durch eine Zählschleife abgerufen werden können?
Freundliche Grüße
Vinzenz
Hi!
wie stell ich ein wie hochgezaehlt wird?
gar nicht. Du bist selbst dafür verantwortlich, geeignete Inhalte zu verwenden.
Bei MySQL könntest Du zum Beispiel die Funktion UUID() verwenden. Und ja, sowas Nettes wie LAST_INSERT_ID() gibt's dafür nicht.
Das ist auch nicht notwendig, denn eine UUID/GUID hat den Vorteil, dass sie prinzipell auf einem beliebigen Rechner erzeugt werden kann und dabei weltweit eindeutig bleibt. Man muss also eine UUID nicht erst im DBMS erzeugen, und sie dann hinterher abfragen, man kann sie auch gleich im Anwendungsprogramm erzeugen, damit schon Verknüpfungen zu anderen Objekten (im OOP-Sinne oder auch im allgemeinen) erstellen, und so weiter.
Wenn man nun solche UUID-Datensätze in das DBMS bringen möchte, macht man entweder auf Verdacht ein INSERT und prüft dabei auf Primärschlüsselverletzungsfehler, woraufhin man ein UPDATE nachschiebt. Dieses Vorgehen empfiehlt sich für Prozesse, die in der Regel einen Datensatz hinzufügen. Für vorwiegend ändernde Prozesse kann man es andersrum angehen, indem man ein UPDATE macht, die Affected Rows prüft und gegebenenfalls ein INSERT hinterherschiebt. Für die Affected Rows muss man aber die Wirkung das Flag CLIENT_FOUND_ROWS berücksichtigen, das sich mit PHP nur unter Verwendung von mysqli_real_connect() beeinflussen lässt.
Lo!
Hi!
ist es moeglich die GET-Veriablen
So etwas gibt es nicht - HTTP kennt keine Variablen - Du meinst Parameter.
irgendwie zu verschluesseln?
Ja, was sollte dagegen sprechen?
so das aus ?id=55 dann etwas wie ?id=b53b3a3d6ab90ce0268229151c9bde11 wird.
Das ware dann jetzt der MD5-Hash dazu
Was genau willst Du erreichen?
Sicherheit offensichtlich nicht...
off:PP