ฉันเพิ่งอ่านบทช่วยสอน (http://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340) ในการกำหนดส่วนหัว HTTP เพื่อเปลี่ยนการทำงานของสคริปต์ บทช่วยสอนนี้ให้ตัวอย่างสคริปต์ PHP เพื่อทำสิ่งนี้ให้สำเร็จ
$method = $_SERVER['REQUEST_METHOD'];
switch($method) {
case 'PUT':
$this->create_contact($name);
break;
case 'DELETE':
$this->delete_contact($name);
break;
case 'GET':
$this->display_contact($name);
break;
default:
header('HTTP/1.1 405 Method Not Allowed');
header('Allow: GET, PUT, DELETE');
break;
}
...และการกล่าวถึง
เราใช้คำสั่ง switch ซึ่งควรหลีกเลี่ยงในการใช้งานจริง:
คำถามหลายข้อ:
- เหตุใดคุณจึงหลีกเลี่ยงการใช้ฟังก์ชันนี้
- มีช่องโหว่ในการใช้คำสั่ง switch หรือไม่หรือเป็นตัวแปร $_SERVER ที่ทำให้เกิดช่องโหว่
- คำตอบในโพสต์นี้ ($_SERVER['QUERY_STRING'] ปลอดภัยจาก XSS หรือไม่) แนะนำให้ใช้ htmlentities เพื่อปกป้องค่า $_SERVER เพียงพอหรือไม่?
ขอบคุณมาก ๆ!