ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

 

csrf
csrf

 

     การโจมตีแบบ (CSRF) หรือ Cross-site Request Forgery  จะใช้ “ตัวตน (Identity)” และ “สิทธิ์ (Privilege)” ของเหยื่อที่มีบนเว็บไซต์ ในการปลอมตัวเป็นเหยื่อ Hacker จะใช้ประโยชน์จาก Cookies ที่เก็บไว้บน Webbrowser (เว็บเบราว์เซอร์) ที่ส่ง Cookie ไปเก็บข้อมูลเพื่อใช้ในการการพิสูจน์ตัวตน Website (เว็บไซต์) ผู้ให้บริการควรเปลี่ยนจากการใช้ Cookie ที่ทำ  Session-tracking มาเป็น Session Token ที่ถูกสร้างขึ้นแบบไดนามิก ทำให้ Hacker ทำการ Hack ได้ยากมากขึ้น

     โดยบทความนี้จะกล่าวถึงวิธีสร้าง Form ป้องกันการโจมตีแบบ CSRF ใน php อย่างง่าย

 

วิธีสร้าง Form ป้องกันการโจมตีแบบ CSRF ใน php

 

หน้า index.php

<html>
   <head>
       <title>วิธีสร้าง Form ป้องกันการโจมตีแบบ CSRF ใน php</title>
   </head>
   <body>
       <form action="sign.php" method="post" name="frm_data">
    <table width="500">
   <caption><h3>วิธีสร้าง Form ป้องกันการโจมตีแบบ CSRF ใน php</h3></caption>
   <tr>
    <td>Input :</td>
    <td>
    <input type="text" class="form-control" name="name"  id="name" value=""/>
    </td>
    <input type = "hidden" name ="<?php echo md5(session_id()); ?>" value="1">
   </tr>
   <tr>
    </td><td><td><input name="but_submit" type="submit" value="Submit" /></td>
   </tr>
   </form>
</body>
</html>

 

หน้า sign.php

<?php
$token = md5(session_id());

 if (isset($_POST["name"])) {
   	$name = $_POST["name"];
        if(!isset($_POST[$token])){
            echo "โทเค็นการรักษาความปลอดภัยไม่ตรงกัน การร้องขอถูกยกเลิกเพื่อป้องกันการละเมิดความปลอดภัย โปรดลองอีกครั้ง";
            exit;  
        }
        if($_POST[$token] == $token){
            echo "โทเค็นการรักษาความปลอดภัยไม่ตรงกัน การร้องขอถูกยกเลิกเพื่อป้องกันการละเมิดความปลอดภัย โปรดลองอีกครั้ง" ;
            exit;        
        }
        echo  $_POST['name'];
   }

?>

 

ผลลัพธ์ 

 

หน้า index.php

 

หน้า index.php
หน้า index.php

 

หน้า sign.php (จะรับค่าจากหน้า index.php)

 

หน้า sign.php
หน้า sign.php

      หมายเหตุ : ตัวแปร token มีค่าไม่เท่ากับค่าที่ไดนามิคออกมา หรือไม่มีเลยจะแสดงว่า "โทเค็นการรักษาความปลอดภัยไม่ตรงกัน การร้องขอถูกยกเลิกเพื่อป้องกันการละเมิดความปลอดภัย โปรดลองอีกครั้ง"

 

อ้างอิงรูปภาพ : flickr.com

 

ข่าวสารเพิ่มเติมเกี่ยวกับ PHP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การหาไฟล์รูปภาพที่ ครอบด้วย BBcode
โดย Ittichai_chupol ส 15 ธ.ค. 2018 6:19 pm บอร์ด PHP Knowledge
0
8
ส 15 ธ.ค. 2018 6:19 pm โดย Ittichai_chupol
การสร้างกระดานข่าวในส่วนของผู้ดูแลระบบ
โดย จันนุสรณ์ ดีแก่ ศ 14 ธ.ค. 2018 4:38 pm บอร์ด phpBB user Guide Knowledge
0
17
ศ 14 ธ.ค. 2018 4:38 pm โดย จันนุสรณ์ ดีแก่
วิธีแก้เมื่อ Phpbb ขึ้นว่า กรุณาลบไดเรกเทอรี หากไดเรกเทอรียังอยู่ใช้ได้แต่ แผงควบคุมเท่านั้น
โดย จันนุสรณ์ ดีแก่ ศ 14 ธ.ค. 2018 3:39 pm บอร์ด phpBB user Guide Knowledge
0
18
ศ 14 ธ.ค. 2018 3:39 pm โดย จันนุสรณ์ ดีแก่
การค้นหาภายในกระทู้
โดย จันนุสรณ์ ดีแก่ ศ 14 ธ.ค. 2018 1:54 pm บอร์ด phpBB user Guide Knowledge
0
16
ศ 14 ธ.ค. 2018 1:54 pm โดย จันนุสรณ์ ดีแก่
การค้นหาภายในบอร์ด
โดย จันนุสรณ์ ดีแก่ ศ 14 ธ.ค. 2018 12:10 pm บอร์ด phpBB user Guide Knowledge
0
21
ศ 14 ธ.ค. 2018 12:10 pm โดย จันนุสรณ์ ดีแก่
การค้นหาจากทั้งหมด
โดย จันนุสรณ์ ดีแก่ ศ 14 ธ.ค. 2018 11:31 am บอร์ด phpBB user Guide Knowledge
0
20
ศ 14 ธ.ค. 2018 11:31 am โดย จันนุสรณ์ ดีแก่
เมื่อกราฟฟิกดีไซเนอร์อยากจีบสาว
โดย จันนุสรณ์ ดีแก่ ศ 14 ธ.ค. 2018 10:45 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
27
ศ 14 ธ.ค. 2018 10:45 am โดย จันนุสรณ์ ดีแก่
การตั้งค่าบอร์ด
โดย จันนุสรณ์ ดีแก่ พฤ 13 ธ.ค. 2018 5:07 pm บอร์ด phpBB user Guide Knowledge
0
15
พฤ 13 ธ.ค. 2018 5:07 pm โดย จันนุสรณ์ ดีแก่
ส่งค่า ตัวแปร เปลี่ยนภาษา ไปยัง javascript บน phpbb
โดย Ittichai_chupol พฤ 13 ธ.ค. 2018 4:28 pm บอร์ด PHP Knowledge
0
14
พฤ 13 ธ.ค. 2018 4:28 pm โดย Ittichai_chupol
Styles Orange BBEs
โดย จันนุสรณ์ ดีแก่ พฤ 13 ธ.ค. 2018 3:58 pm บอร์ด phpBB 3.1 Extension Review
0
33
พฤ 13 ธ.ค. 2018 3:58 pm โดย จันนุสรณ์ ดีแก่
การจัดการกับข้อความ (การลบ)
โดย จันนุสรณ์ ดีแก่ พฤ 13 ธ.ค. 2018 3:30 pm บอร์ด phpBB user Guide Knowledge
0
16
พฤ 13 ธ.ค. 2018 3:30 pm โดย จันนุสรณ์ ดีแก่
JoomScan เครื่องมือตรวจสอบหาช่องโหว่ของระบบ Joomla แบบอัตโนมัติ
โดย tsukasaz พฤ 13 ธ.ค. 2018 2:24 pm บอร์ด Software Review
0
23
พฤ 13 ธ.ค. 2018 2:24 pm โดย tsukasaz
เมื่อจีบสาว!!
โดย จันนุสรณ์ ดีแก่ พฤ 13 ธ.ค. 2018 1:57 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
29
พฤ 13 ธ.ค. 2018 1:57 pm โดย จันนุสรณ์ ดีแก่
การเพิ่มกระทู้ให้อยู่ในรายการโปรด
โดย จันนุสรณ์ ดีแก่ พฤ 13 ธ.ค. 2018 1:22 pm บอร์ด phpBB user Guide Knowledge
0
23
พฤ 13 ธ.ค. 2018 1:22 pm โดย จันนุสรณ์ ดีแก่
สอบถามวิธีจัดการ Notify บน Browser หน่อยครับว่าจะตั้งค่ายังไงให้มันแสดง หรือให้ไม่แสดงยังไง
โดย tatiya พ 12 ธ.ค. 2018 7:13 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
38
พ 12 ธ.ค. 2018 7:13 pm โดย tatiya
Styles เว็บไซต์
โดย จันนุสรณ์ ดีแก่ พ 12 ธ.ค. 2018 5:48 pm บอร์ด phpBB 3.1 Extension Review
0
52
พ 12 ธ.ค. 2018 5:48 pm โดย จันนุสรณ์ ดีแก่
การเปลี่ยน Style Board phpBB
โดย จันนุสรณ์ ดีแก่ พ 12 ธ.ค. 2018 5:27 pm บอร์ด phpBB user Guide Knowledge
0
37
พ 12 ธ.ค. 2018 5:27 pm โดย จันนุสรณ์ ดีแก่
Q - วิธีการใส่ไฟล์ภาษาลงใน javascript
โดย Ittichai_chupol พ 12 ธ.ค. 2018 5:11 pm บอร์ด JavaScript & Jquery Ajax
1
58
พฤ 13 ธ.ค. 2018 11:27 am โดย mindphp
การเปลี่ยนสีและเพิ่มรูปภาพ USER!
โดย จันนุสรณ์ ดีแก่ พ 12 ธ.ค. 2018 4:10 pm บอร์ด phpBB user Guide Knowledge
0
35
พ 12 ธ.ค. 2018 4:10 pm โดย จันนุสรณ์ ดีแก่
วิธีสมัครเป็นสมาชิกในเว็บบอร์ด php
โดย จันนุสรณ์ ดีแก่ พ 12 ธ.ค. 2018 2:38 pm บอร์ด phpBB user Guide Knowledge
0
27
พ 12 ธ.ค. 2018 2:38 pm โดย จันนุสรณ์ ดีแก่