طريقة إيقاف كتابة اكواد في عنوان التذاكر whmcs
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
مساء الخير على الجميع
إخواني الأفاضل ما سوف يتم طرحه هنا هو فقط اجتهاد مني لا غير بسبب الثغرة التي انتشرت قبل أسابيع في سكربت whmcs
طيب كيف يتم إيقاف ذلك !!!!
ما تم استنتاجه أنهم يضعون اكواد في عنوان السكربت وتلك الاكواد مشفره وطويلة
طيب ليش ما يتم تحديد عدد الأحرف التي تكتب في عنوان التذكرة في كل من قاعدة البيانات وأيضا السكربت
الحل هنا ندخل على قاعدة بيانات السكربت ونبحث عن هذا الجدول
Tbltickets مثل ما هو موجود هنا بالصورة
https://www.rise.company/forum/clear.gif
نضغط على بناء
بعد ذلك نبحث عن الحقل المسئول عن العنوان title ونضغط على المرسام الموجود على يسار الحقل تغير
تفتح لك شاشة في السطر الثاني موجود لدينا النوع نغيره من text إلى varbinary وأيضا نضع في السطر إلي أسفل والذي اسمه الطول/القيمة عدد 50 ثم نضغط على حفظ الموجود في نهاية الصفحة
هنا لن يتم حقن قاعة البيانات بكود اكبر من 50 حرف إلى هنا ممتاز
---------------------------------
ولزيادة الامان اكثر سوف ندخل على ملف الاستايل واجهة السكربت الموجود في مجلد templates سوف يتم البحث عن هذا الملف
supportticketsubmit-steptwo.tpl
يجب فتحه بأي محرر
ونبحث عن هذا السطر بالضبط
رمز PHP:
<td><input type="text" name="subject" size="60" value="{$subject}" /></td>
ونغير قيمته إلى هذا السطر
رمز PHP:
<td>
<!--webbot bot="Validation" S-Data-Type="String" B-Allow-Letters="TRUE" B-Allow-Digits="TRUE" B-Value-Required="TRUE" I-Minimum-Length="3" I-Maximum-Length="60" -->
<input type="text" name="subject" size="60" value="{$subject}" maxlength="60" /></td>
ماذا يعني هذا السطر
ما يعنيه إخواني هو أني جعلت أطول عنوان لعنوان للتذكرة هو 60 حرف
بكذا إن شاء الله لن يتم كتابت الكود بالشكل المطلوب سوف يأخذ منه فقط 60 حرف وما سوف يضعه في الجدول تبع قاعدة البيانات فقط 50 حرف .
هذا ما لذي والله اعلم