สอบถามดักไม่ให้โพสต์เบิ้ลซ้ำของ phpBB

พูดคุย phpBB3, SMF ปัญหา การติดตั้ง ปัญหา การลง Mod การแก้ไข หน้าตาบอร์ด การใช้งาน Joomla 1.5, 1.6, 1.7, 2.5 ,3.x รวมถึง Joomla 4 การใช้งาน wordpress และ CMS อื่นๆ
การตั้งคำถาม ควรระบุรุ่นที่ใช้ ในการตั้งคำตามด้วย นะ เช่น SMF 1.1.4 หรือ SMF2.0, OpenERP, Odoo และ รายละเอียดของ server OS, php เวอร์ชั่นไหน ฐานข้อมูลอะไร

Moderator: mindphp

กฎการใช้บอร์ด
คำถามหมวดนี้ ควรระบุ รายละเอียดของ Server OS, เวอร์ชั่น ของ PHP, CMS ที่ท่านใช้
รวมถึง Hosting หรือ Control Panel Hosting
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 16184
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

สอบถามดักไม่ให้โพสต์เบิ้ลซ้ำของ phpBB

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

ตอนที่สร้างกระทู้หรือโพสต์ใหม่แล้วมีการกดปุ่ม โพสต์ ย้ำหลายๆ ครั้ง > ตัวโพสต์จะเบิ้ล
- พอที่จะดักหรือตั้งค่าอะไรเพิ่มเติมได้บ้างค่ะ
- ในภาพลองกดโพสต์ 3 - 4 ครั้งก็ได้กระทู้ออกมา 2 อันตลอด และเป็นโพสต์ที่มีแต่ข้อความ
Selection_999(091).png
Selection_999(091).png (21.12 KiB) Viewed 656 times
Selection_999(092).png
Selection_999(092).png (29.47 KiB) Viewed 656 times
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามดักไม่ให้โพสต์เบิ้ลซ้ำของ phpBB

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ลองเช็คการทำงานของ

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

    add_form_key('posting');
ตอนเช็ค

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

check_form_key('posting')
ดูว่าตอน check_form_key ค่า token ยังค้างอยู่ในฟอร์มที่ post มาหรือเปล่า
เพิ่มเติม
https://blog.phpbb.com/2009/01/14/fighting-csrf/

ถ้ามีค่าถ้าอยู่อยาจต้องประยุคเรื่อง session เข้ามาช่วย เพื่อเก็บและ เช็ค ทำลาย ค่า token เพิ่มเข้าไป
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 16184
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

Re: สอบถามดักไม่ให้โพสต์เบิ้ลซ้ำของ phpBB

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

ลองเก็บ log ดูทั้ง 2 ฟังกชั่นดู form token ใน add_form_key กับ check_form_key
- เราต้องลบ token ตอนทำงานเสร็จใน check_form_key นี้หรือเปล่าค่ะ
- ถ้าจะทำลายค่า token จะต้องทำยังงัยเหรอค่ะ

ใน input ก่อนกดโพสต์

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

<input type="hidden" name="form_token" value="0d60262be2f3663f0bc828e1ac5066ea36061a65">
log ตอนกดที่ปุ่มโพสต์แล้ว

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

admin	127.0.0.1	ศุกร์ 16 ก.ย. 2022 1:33 pm	{Add form key form token - a6fb0adb52cbfaac19a71b60ee29358209b60158}
admin	127.0.0.1	ศุกร์ 16 ก.ย. 2022 1:33 pm	{Check form key form token - 0d60262be2f3663f0bc828e1ac5066ea36061a65}
admin	127.0.0.1	ศุกร์ 16 ก.ย. 2022 1:33 pm	{Add form key form token - a6fb0adb52cbfaac19a71b60ee29358209b60158}
admin	127.0.0.1	ศุกร์ 16 ก.ย. 2022 1:33 pm	{Check form key form token - 0d60262be2f3663f0bc828e1ac5066ea36061a65} // form_token ที่ได้หน้าฟอร์มครั่งแรก
//------------------------ก่อนกดโพสต์-----------------------
admin	127.0.0.1	ศุกร์ 16 ก.ย. 2022 1:30 pm	{Add form key form token - 3de1c7880872585b139ae15ebf13d8d81fcb93e1}
admin	127.0.0.1	ศุกร์ 16 ก.ย. 2022 1:30 pm	{Add form key form token - 0d60262be2f3663f0bc828e1ac5066ea36061a65}
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามดักไม่ให้โพสต์เบิ้ลซ้ำของ phpBB

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

เช็คเสร็จ unset ออกไปได้เลยครับ สำหรับตัวที่ใช้แล้ว
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 16184
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

Re: สอบถามดักไม่ให้โพสต์เบิ้ลซ้ำของ phpBB

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

ถ้าไม่เจอ sesion ตอนรอบ 2 หรือรอบถัดไปให้เด้งไปหน้า post
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

สมาชิกกำลังดูบอร์ดนี้: Amazon [Bot], Google Adsense [Bot] และบุคลทั่วไป 83