2016-06-15 13 views
1

Ich bin ein Formular codieren, die Eingabe von Benutzern akzeptiert, ich lese im Netz, dass base64url-encode-decode wird eine Sicherheitsschicht zu meinem Formular hinzufügen.Base 64 Codierung und Decodierung für Formularsicherheit

Bitte sagen Sie mir, wie man sie in meiner PHP-Bearbeitungsseite verwendet (sya, dass ich eine Texteingabe namens 'user' habe), da ich kein gutes und klares Beispiel über ihre effektive Verwendung sah.

+1

"wird eine Sicherheitsschicht zu meinem Formular hinzufügen" --- das ist Blödsinn. – zerkms

+0

Wenn Sie Missverständnisse haben oder einen Fehler gemacht haben, korrigieren Sie es auf eine freundliche Art und Weise. und pass auf deinen Mund auf. Respekt kommt zuerst. –

+0

Ich glaube nicht, dass "Sicherheit" der richtige Begriff ist. base64 ist nur eine Kodierung zum Kodieren von Sonderzeichen, die vom Protokoll nicht unterstützt werden. Es wäre schön, wenn du mit der Quelle dieser Aussage verlinken würdest, also hätten wir einen Kontext, denn wie du es sagst, ist es falsch (oder "Schwachsinn", wie manche sagen mögen). Ich glaube nicht, dass Sie das explizit tun müssen. Wenn Sie ein Formular erstellen, kümmert sich normalerweise der Browser um die korrekte Kodierung und PHP nimmt die Dekodierung des Formulars vor. Sie sollten nichts Besonderes dafür schreiben müssen. – GolezTrol

Antwort

2

Es ist offensichtlich aus dem, was ich bisher gelesen habe, dass Sie tatsächlich ein kleines Missverständnis des Konzepts der Kodierung/Dekodierung haben, jedoch möchte ich bemerken, dass die Sicherheitsebene, die Sie erreichen wollen, sehr ist erreichbar mit den Mitteln einer Technik, die für diesen Zweck bestimmt ist (Verschlüsselung). Sie sehen, der Zweck von encoding Informationen ist es nicht, um es vor anderen zu verstecken, sondern einfach auf eine andere Weise neu zu formatieren, die geeigneter sein könnte (zB base64 enthält fast keine Sonderzeichen, möglicherweise besser für Daten über JSON gesendet usw.) Der Grund, warum Sie Codierung für diesen Zweck nicht wirklich verwenden können, ist, weil alle Codierungsalgorithmen sehr leicht reversibel sind, so dass die nur Sache wäre, ein winziges Bit Code zu schreiben wäre dass, anstatt diese Informationen herauszuziehen, es herausziehen und base64 es entschlüsseln wird.

In einer Form insbesondere, der beste Weg, um Informationen wirklich zu schützen, die Transit durchläuft, ist das HTTPS-Protokoll (das auch für Suchmaschinen vorteilhaft ist, also gewinnen, gewinnen).

Wenn Sie immer noch darauf bestehen eine zusätzliche security layer auf, die Sie verwenden encryption für diese Aufgabe denken kann, weil der eigentliche Zweck es auf dieser Erde schützen war zugefügt wurde, vertrauliche Informationen aus wird mit ausgelaufenes/manipuliert.

[Update] Eine andere Sache Ich mag möchte hinzufügen, ist, dass, wenn Sie Informationen von jemandem zu schützen, sollten Sie immer daran denken, wer es Sie diese Informationen aus schützen. Von dem, was ich zusammentrage, versuchst du Mittelmann-Angriffe zu verhindern. Um dies zu verhindern, empfehle ich dringend, zu HTTPS zu wechseln, da es kaum andere Möglichkeiten gibt, Daten in Form zu schützen, die auf eine PHP-Seite übertragen werden. Wenn Sie zu irgendeinem Zeitpunkt daran interessiert sind, die von Seite zu Seite gesendeten Daten zu schützen, können Sie sich diese Really good post ansehen.

Prost.

+1

Gute Antwort und ein toller erster Beitrag. JSON ist jedoch in Unicode gespeichert und könnte [fast jedes Zeichen enthalten] (https://en.wikipedia.org/wiki/JSON#Data_portability_issues), so dass das Beispiel möglicherweise nicht das beste ist. Wenn Sie das UTF-8-codierte Stück JSON über ein anderes Protokoll übertragen möchten, müssten Sie natürlich den gesamten Chunk in base64 oder etwas Ähnliches neu codieren. – GolezTrol

+0

@Samuel Allan bedankt sich sehr für Ihre Zeit und die neuen Informationen (für mich), die Sie geliefert haben –

Verwandte Themen