3
วิธีเพิ่มโทเค็นการปลอมแปลงคำขอข้ามไซต์ (CSRF) อย่างถูกต้องโดยใช้ PHP
ฉันกำลังพยายามเพิ่มความปลอดภัยให้กับแบบฟอร์มบนเว็บไซต์ของฉัน รูปแบบหนึ่งใช้ AJAX และอีกแบบเป็นแบบฟอร์ม "ติดต่อเรา" ที่ตรงไปตรงมา ฉันกำลังพยายามเพิ่มโทเค็น CSRF ปัญหาที่ฉันพบคือโทเค็นจะแสดงใน "ค่า" HTML บางครั้งเท่านั้น เวลาที่เหลือค่าว่างเปล่า นี่คือรหัสที่ฉันใช้ในแบบฟอร์ม AJAX: PHP: if (!isset($_SESSION)) { session_start(); $_SESSION['formStarted'] = true; } if (!isset($_SESSION['token'])) {$token = md5(uniqid(rand(), TRUE)); $_SESSION['token'] = $token; } HTML <form> //... <input type="hidden" name="token" value="<?php echo $token; ?>" /> //... </form> ข้อเสนอแนะใด ๆ ?