วิธีการใส่ Token ใน Form และ Query String เพื่อป้องกัน CSRF Attack ใน Joomla FM

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
samsonnaze3
PHP Hero Member
PHP Hero Member
โพสต์: 190
ลงทะเบียนเมื่อ: 04/03/2012 1:06 am

วิธีการใส่ Token ใน Form และ Query String เพื่อป้องกัน CSRF Attack ใน Joomla FM

โพสต์โดย samsonnaze3 » 21/04/2012 5:47 pm

รายละเอียดต่างๆเกี่ยวกับ Token ใน Joomla สามารถดูได้ที่ How to add CSRF anti-spoofing to forms

คำสั่งแรกให้ใส่โค๊ดดังต่อไปนี้ใน Controller ในส่วนของ Task ที่ท่านต้องการใช้

ถ้าเป็นการส่งค่าแบบ Method post ให้ใช้

โค้ด: เลือกทั้งหมด

JRequest::checkToken() or die( 'Invalid Token' ); 


ถ้าเป็นการส่งค่าแบบ Method get ให้ใช้

โค้ด: เลือกทั้งหมด

JRequest::checkToken( 'get' ) or die( 'Invalid Token' ); 


คำสั่งที่สอง ใส่ด้านหลังของ Link ที่ท่านทำไว้

ตัวอย่างแบบ GET

โค้ด: เลือกทั้งหมด

<?php 
echo JRoute
::_( 'index.php?option=com_example&controller=object1&task=save&'. JUtility::getToken() .'=1' ); 
?>


ตัวอย่างแบบ POST **ใส่คำสั่งนี้ไว้ด้านล่างของ Form

โค้ด: เลือกทั้งหมด

<?php echo JHTML::_( 'form.token' ); ?>
รูปภาพ

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 2 และ บุคคลทั่วไป 0 ท่าน