json_encode() Melarikan Diri Garis Ke Hadapan
Apabila menyahkod JSON daripada Instagram, adalah perkara biasa untuk menghadapi garis miring ke hadapan yang terlepas semasa pengekodan semula dan caching data tersebut. Ini disebabkan oleh json_encode() secara automatik melarikan diri garis miring ke hadapan secara lalai.
Melumpuhkan Forward Slash Escaping
Nasib baik, PHP 5.4 menawarkan penyelesaian untuk melumpuhkan tingkah laku melarikan diri ini menggunakan Bendera JSON_UNESCAPED_SLASHES. Begini cara untuk menggunakannya:
json_encode($data, JSON_UNESCAPED_SLASHES);
Dengan menetapkan bendera ini, json_encode() akan mengekalkan garis miring ke hadapan tanpa terlepas.
Awas untuk Konteks Web/HTML
Adalah penting untuk ambil perhatian bahawa melumpuhkan slash ke hadapan melarikan diri dalam konteks web/HTML (cth., menyampaikan data JSON kepada penyemak imbas) boleh memperkenalkan kelemahan keselamatan. Garis miring yang dilepaskan adalah penting untuk mengelakkan serangan skrip silang tapak (XSS). Oleh itu, penggunaan JSON_UNESCAPED_SLASHES perlu dipertimbangkan dengan teliti dalam senario sedemikian.
Untuk Versi PHP Sebelum 5.4
Jika anda menggunakan versi PHP sebelum 5.4, anda boleh mengubah suai fungsi sedia ada seperti json_encode_no_backslashes() (tersedia di https://snippets.dzone.com/posts/show/7487) untuk memenuhi keperluan anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang `json_encode()` Daripada Melarikan Diri Garis Ke Hadapan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!