Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Melepasi Rentetan Berkod Base64 dengan Selamat dalam URL?
Terdapat salah tanggapan umum bahawa rentetan yang dikodkan base64 boleh dihantar dengan selamat melalui parameter GET. Walaupun pengekodan base64 itu sendiri ialah cara selamat untuk mengekod data perduaan untuk penghantaran melalui rangkaian, terdapat pertimbangan tambahan apabila menghantar parameter URL.
Pengekodan Base64 standard menggunakan aksara yang tidak mesra URL, termasuk ' ', '/', dan '='. Apabila menghantar rentetan berkod base64 dalam URL, ia mesti dikodkan semula menggunakan pengekodan URL. Jika tidak, aksara khas boleh ditafsirkan sebagai sebahagian daripada laluan URL atau rentetan pertanyaan, yang membawa kepada potensi isu keselamatan.
Untuk menangani perkara ini, anda boleh menggunakan skema pengekodan tersuai yang menggantikan aksara bukan mesra URL dengan yang berbeza. Sebagai contoh, anda boleh menggunakan '-' bukannya ' ', '_' bukannya '/' dan '='. Dengan menggunakan pengekodan tersuai ini, anda boleh memastikan bahawa rentetan yang dikodkan base64 tidak ditafsirkan secara tidak sengaja sebagai sesuatu yang lain oleh pelayan.
Berikut ialah contoh cara anda boleh mencipta fungsi pengekodan/penyahkodan tersuai:
def base64_url_encode(input_string): return input_string.encode('utf-8').translate(bytes.maketrans('+/=', '-_=')) def base64_url_decode(encoded_string): return encoded_string.translate(bytes.maketrans('-_=', '+/=')).decode('utf-8')
Dengan menggunakan fungsi ini, anda boleh menghantar rentetan berkod base64 dengan selamat dalam parameter URL tanpa perlu risau tentang potensi keselamatan isu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melepasi Rentetan Berkod Base64 dengan Selamat dalam URL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!