شرح صفوف ومحتوى الفقرة
يجب أن يتضمن كل نموذج <form method="POST"> في تطبيقك حقل إدخال مخفياً يحمل قيمة توكن CSRF الخاص بالجلسة الحالية.
- أدرج الحقل
<input type="hidden" name="csrf_token" value="...">داخل كل نموذج يُجري تغييراً على البيانات. - رمّز قيمة التوكن دائماً عبر
htmlspecialchars($token, ENT_QUOTES, "UTF-8")كقاعدة ثابتة في قوالب العرض. - أنشئ دالة مساعدة مختصرة مثل
csrfField()لتضمين الحقل المخفي بسهولة في جميع النماذج دون نسيان.
عندما يرسل المستخدم النموذج، يبعث المتصفح القيمة $_POST["csrf_token"] ضمن جسم الطلب جنباً إلى جنب مع باقي الحقول.
PHP
<?php
function csrfField(string $token): string {
$safe = htmlspecialchars($token, ENT_QUOTES, 'UTF-8');
return '<input type="hidden" name="csrf_token" value="' . $safe . '">';
}
$sampleToken = "a9f4c2e8b1d07365";
echo csrfField($sampleToken) . "\n";