Saya baru-baru ini membaca tutorial (http://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340) tentang menentukan header HTTP untuk mengubah tindakan skrip. Tutorial ini memberikan contoh skrip PHP untuk mencapai hal ini
$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;
}
...dan menyebutkan
Kami menggunakan pernyataan switch, yang harus dihindari dalam aplikasi nyata:
Beberapa pertanyaan:
- Mengapa Anda menghindari penggunaan fungsi ini?
- Apakah ada kerentanan dalam menggunakan pernyataan switch itu sendiri, atau variabel $_SERVER yang membuatnya rentan?
- Jawaban di postingan ini (Apakah $_SERVER['QUERY_STRING'] aman dari XSS?) merekomendasikan penggunaan htmlentities untuk melindungi nilai $_SERVER. Apakah ini cukup?
Terima kasih banyak!