Emad Saif نشر 8 أبريل 2022 أرسل تقرير نشر 8 أبريل 2022 أقوم بتمرير نص مشفر بإستخدام Base64 بالشكل التالي: http://localhost:8080/save?sentance=aGVsbG8sIHdvcmxk هل قد تحدث مشكلة في المستقبل بسبب تشفير النص بإستخدام Base64 بسبب رموز مثل = + في Base64؟ 2 اقتباس
1 سامح أشرف نشر 8 أبريل 2022 أرسل تقرير نشر 8 أبريل 2022 الرموز المستخدمة في base64 هي: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= كل هذه الرموز يمكن إستخدامها في عناوين URL بدون مشكلة ماعدا آخر ثلاثة رموز (+/=) حيث أن لكل واحدٍ منهم له معنى مختلف في عناوين URL، لذلك عليك أن تستبدلهم بعد عملية التشفير برموز أخرى مثل (._-) على سبيل المثال، ويمكنك أن تستخدم base64 في عناوين URL بدون مشكلة من خلال إستخدام الدالة urlencode مع base64_encode على النحو التالي: <?php $str = 'Hello, world'; $encoded = urlencode( base64_encode( $str ) ); echo $encoded; // SGVsbG8sIHdvcmxk ولفك تشفير النص تستطيع إستخدام الدالة base64_decode مع urldecode على النحو التالي: <?php $encoded_str = 'SGVsbG8sIHdvcmxk'; $decoded = base64_decode( urldecode( $encoded_str ) ); echo $decoded; // Hello, world 1 اقتباس
1 محمد أبو عواد نشر 8 أبريل 2022 أرسل تقرير نشر 8 أبريل 2022 ليس من الآمن فعل ذلك , بل يجب ان تقوم بعمل اعادة ترميز لعنوان url لأنه من الممكن أن تحتوي سلاسل base64 على الأحرف "+" و "=" و "/" والتي يمكن أن تغير معنى البيانات حيث تبدو كمجلد فرعي أو مسار آخر , يمكنك الاستعانة بالدالتين التاليتين كدوال مساعدة لك function base64_url_encode($input) { return strtr(base64_encode($input), '+/=', '._-'); } function base64_url_decode($input) { return base64_decode(strtr($input, '._-', '+/=')); } 1 اقتباس
السؤال
Emad Saif
أقوم بتمرير نص مشفر بإستخدام Base64 بالشكل التالي:
http://localhost:8080/save?sentance=aGVsbG8sIHdvcmxk
هل قد تحدث مشكلة في المستقبل بسبب تشفير النص بإستخدام Base64 بسبب رموز مثل = + في Base64؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.