Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich verhindern, dass „json_encode()' Schrägstriche in PHP umgeht?
json_encode() maskiert Schrägstriche
Beim Dekodieren von JSON aus Instagram kommt es häufig vor, dass Schrägstriche beim Neukodieren und Zwischenspeichern maskiert werden die Daten. Dies liegt daran, dass json_encode() Schrägstriche standardmäßig automatisch maskiert.
Schrägstrich-Escaping deaktivieren
Glücklicherweise bietet PHP 5.4 eine Lösung, um dieses Escape-Verhalten mithilfe von zu deaktivieren JSON_UNESCAPED_SLASHES-Flag. So verwenden Sie es:
json_encode($data, JSON_UNESCAPED_SLASHES);
Durch Setzen dieses Flags behält json_encode() Schrägstriche ohne Escapezeichen bei.
Vorsicht für Web-/HTML-Kontext
Es ist wichtig zu beachten, dass das Deaktivieren von Schrägstrichen in einem Web-/HTML-Kontext deaktiviert wird (z. B. die Bereitstellung von JSON-Daten an einen Browser) kann Sicherheitslücken mit sich bringen. Escaped-Schrägstriche sind wichtig, um Cross-Site-Scripting-Angriffe (XSS) zu verhindern. Daher sollte die Verwendung von JSON_UNESCAPED_SLASHES in solchen Szenarien sorgfältig abgewogen werden.
Für PHP-Versionen vor 5.4
Wenn Sie PHP-Versionen vor 5.4 verwenden, müssen Sie kann vorhandene Funktionen wie json_encode_no_backslashes() ändern (verfügbar unter https://snippets.dzone.com/posts/show/7487) entsprechend Ihren Anforderungen.
Das obige ist der detaillierte Inhalt vonWie kann ich verhindern, dass „json_encode()' Schrägstriche in PHP umgeht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!