B09 | تحقّق قبل الثقة ورمّز المخرجات قبل العرض
المستوى الأساسي · الدرس B09
B09 | تحقّق قبل الثقة ورمّز المخرجات قبل العرض

النتيجة: نموذج يحتوي على أخطاء واضحة ومخرجات آمنة.
المفهوم الأساسي: التحقق من صحة المدخلات وإلغاء المخرجات يحل مشاكل مختلفة.
الوقت الإرشادي: 100-130 دقيقة.
لماذا لا يزال الحقل "المطلوب" بحاجة إلى التحقق من صحة PHP؟
لأنه يمكن تعديل أي طلب خارج النموذج. يجب على الخادم التحقق من التواجد والنوع والنطاق والقواعد. بعد ذلك، عند عرض النص، يجب عليك ترميزه لسياق HTML.
الاتصال السابق
سوف نقوم بحماية شكل B08.
مختبر موجه
<?php
$rawHours = $_POST['hours'] ?? null;
$errors = [];
$hours = filter_var($rawHours, FILTER_VALIDATE_INT, [
'options' => ['min_range' => 1, 'max_range' => 40],
]);
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $hours === false) {
$errors['hours'] = 'Escribe un número entre 1 y 40.';
}
?>
عند طباعة النص المقدم من المستخدم، استخدم htmlspecialchars($value, ENT_QUOTES, 'UTF-8').
مهمة متوسطة
التحقق من صحة الاسم المستعار والموضوع والساعات. اعرض رسالة بجوار كل حقل واحتفظ بالقيم الآمنة. جرب شخصيات مثل < و&.
ملحق الجامعة
بناء وظائف التطبيع والتحقق والهروب منفصلة. يحدد مصفوفة خطأ قاعدة الإدخال ويشرح لماذا لا تعد التصفية بديلاً لنمذجة المجال.
اختبارات ##
فارغة، الحد الأدنى، الحد الأقصى، خارج النطاق، العشري، النص وأحرف HTML.
التسليم
إرسال المصفوفة والكود وأدلة ست حالات والشرح بين التحقق والهروب. أرسل إلى المعلم.
التالي: B10 — المشروع الأساسي.

Comments
Post a Comment