أهلا وسهلا بك زائرنا الكريم في منتدى دعم PBBoard الرسمي، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .

الإستغناء عن unserialize ؟



15-07-2020 11:39 مساءً
kareem
معلومات الكاتب
السلام عليكم ورحمة الله وبركاته



قامت كثير من الإستضافات بتعطيل دالة unserialize لأسباب أمنية منها شركة بايت أكبر موزع لوحات استضافة ومنها الكثير مجاني مثل ابقى وانفيتي ... الخ. وحسب ما قرأت في موقع للثغرات ممكن حتى الإستضافات المدفوعة توقف الدالة.



هل يمكن إستبدالها في البرنامج ب json_decode ؟ حاولت عمل تعديلات الأمور جيدة حتى الآن مع تحديث الكاش وينبغي أيضا تغييرها في بعض الملحقات التي تستعملها.



هل هناك نية للإستغناء عن دالة unserialize في الإصدارات القادمة؟

look/images/icons/i1.gif الإستغناء عن unserialize ؟
  17-07-2020 02:00 صباحاً   [1]
Soliman
معلومات الكاتب
وعليكم السلام ورحمة الله وبركاتة ،،

أذا حصل وتم تعطيلها من قبل الإستضافات الرسمية المعتمدة فبالتأكيد سيتم الإستغناء عنها وايجاد افضل بديل في الإصدار القادم

لكن حالياً لا يمكن الإستغناء عنها بهذه السرعة فجميع سكربتات ادارة المحتوى وعلى رأسها wordpress وغيرها تستخدم هذه الدالة ايقافها سيسبب خسائر فادحة لإصحاب الاستضافات حيث سينتج تعطل لـ 90% من المواقع المستضافه لديهم .



في الوقت الحالي جميع المطورون الآن ينتظرون الاستقرار التام لإحدث إصدارات PHP خلال الفترة القادمة فهو يتم تحديثه بشكل مستمر وبعدها يتم تطوير برمجياتهم مرة واحدة لتتوافق تشغيلها معه بشكل جيد .



دمت بخير

look/images/icons/i1.gif الإستغناء عن unserialize ؟
  17-07-2020 02:11 مساءً   [2]
kareem
معلومات الكاتب
شكرا لك، احب انوه ان json أسرع من serialize والمنتدى يستعمل البيانات في مصفوفات كثيرا قد يكون مفيدا الانتقال لها وهو لا يحتاج الكثير.



CODE
<br />
base64_encode(serialize($cache))<br />
//تستبدل ب<br />
&nbsp;base64_encode(json_encode($cache))<br />
<br />
<br />
unserialize(base64_decode($cache));<br />
//تستبدل ب<br />
json_decode(base64_decode($cache), true)
;



هذه اعراض تعطيل unserialize:

http://pbb-demo.cf



وهنا مع استعمال json :

http://pbb-demo.cf/json





كنت سأعتمد التعديلات ولكن الإستضافة قامت بتحديث php ل
PHP Version 7.4.8 وسيعمل المنتدى على هذا الإصدار والدالة unserialize مفعلة عليه.



تركته هكذا للمعاينة. حالياً اخترت php 5.6 وهو الذي عليه المشكلة وأيضا كانت على php 7.3.



من تحدث معه المشكلة يختار php 7.4.8 .







تم تحرير المشاركة بواسطة :kareem بتاريخ:17-07-2020 02:13 مساءً




الكلمات الدلالية






الساعة الآن 09:29 PM