|
![](/images/resource/spacer.gif) |
|
ปัญหาคาใจ การรับข้อมูลจาก Form ที่ปลอดภัยที่สุด ควรทำอย่างไร |
|
![](/images/resource/viewboard_01.gif?v=1001) |
|
|
![](/images/resource/viewboard_03.gif?v=1001) |
![](/images/resource/viewboard_04.gif?v=1001) |
|
กรณีนี้เรียกว่าการใช้ช่องโหว่โจมตีแบบ csrf คือสร้างฟอร์มปลอมขึ้นมาหลอกให้ผู้ใช้เป้าหมายหลงกรอกข้อมูลด้วยวิธีใดวิธีหนึ่ง เช่น ทำเป็นรูปธรรมดา แต่เมื่อคลิกรูปก็จะรัน javascript ไปยัง data_insert.php ผ่าน ajax
ทางแก้คือเอาตัวป้องกัน csrf มาใช้ ซึ่งมีแจกเยอะแยะมากมาย
ลองหา csrf protection php
ผมใช้ตัวนี้อยู่ http://bkcore.com/blog/code/nocsrf-php-class.html
หลักการคือเมื่อสร้าง <form> html มันจะสร้าง token ขึ้นมาใส่ session หรือ cookie (แนะนำ session) แล้วก็สร้าง token นั้นใส่เป็น input hidden
ตอนรับมันก็จะรับทั้ง input hidden และ session เอาไปเช็ค คือถ้าฟอร์มหน้าปลอมจะมี input hidden token ก็ตามแต่จะไม่มี session ที่ generate ตอนสร้าง <form> ก็จะส่งข้อมูลไม่ผ่าน
|
![](/images/resource/blockviewtopic_01.gif?v=1001) |
![](/images/resource/blockviewtopic_02.gif?v=1001) |
![](/images/resource/blockviewtopic_03.gif?v=1001) |
![](/images/resource/blockviewtopic_04.gif?v=1001) |
Date :
2015-07-18 21:51:04 |
By :
mr.v |
|
![](/images/resource/blockviewtopic_06.gif?v=1001) |
![](/images/resource/blockviewtopic_07.gif?v=1001) |
![](/images/resource/blockviewtopic_08.gif?v=1001) |
![](/images/resource/blockviewtopic_09.gif?v=1001) |
|
|
![](/images/resource/viewboard_06.gif?v=1001) |
![](/images/resource/viewboard_07.gif?v=1001) |
|
![](/images/resource/viewboard_08.jpg?v=1001) |
![](/images/resource/viewboard_09.gif?v=1001) |
|
|
|
![](/images/digitalocean-banner.jpg)
|
Load balance : Server 03
|