เรื่องความปลอดภัย กรณีอยากเช็คว่า user มีสิทธิ์ในการเข้าถึงข้อมูลนั้นรึเปล่า ถ้าไม่มีสิทธิ์ก็ให้ redirect ไปหน้าอื่น ดังตัวอย่าง
1. ไม่มี exit()
<?php
header("location:exit.php");
?>
ความลับ
Kong Prapan XXX
2. แบบมี exit()
<?php
header("location:exit.php");
exit();
?>
ความลับ
Kong Prapan XXX
ถ้าเราลองใช้ tool พวก HTTP sniffer หรือพวก Packet Sniffer ดูก็จะเห็นข้อมูล "ความลับ"
แต่ถ้าแบบที่สอง เราจะไม่เห้นข้อมูล "ความลับ"
Result แบบไม่มี exit: www.dizcode.com/live-demo/ss-1.png
Result แบบมี exit(): www.dizcode.com/live-demo/ss-2.png
จะเห็นได้ว่าแบบที่ 1 จะเห็นข้อความอยู่ ถึงแม้ว่าจะ set header ไปหน้าอื่นแล้วก็ตาม แต่แบบที่ 2 นั้นไม่เห็น
ซึ่งจริงๆแล้วอาจจะไม่ต้องใช้ exit(); เสมอไป อาจจะใช้ if{}else{} เป็นตัวเช็คแทนก็ได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น