Score:0

การเข้าถึง 403 ถูกปฏิเสธบน Webform ส่งด้วยโทเค็น

ธง in

หนึ่งในเว็บไซต์ของเราได้รับการอัพเดต Drupal Core 7.83 เป็น 7.87 มีโมดูลแบบกำหนดเองที่ขยายฟังก์ชันเว็บฟอร์มสำหรับบางฟอร์มบนไซต์ นักพัฒนาเดิมเขียนฟังก์ชันเพื่อสร้างโทเค็น URL-safe base 64 ที่ไม่ซ้ำกันโดยใช้ opensl ที่ระบุโดยความยาวสำหรับเว็บฟอร์ม ใช้ในการตรวจสอบว่า โทเค็น $ ส่งในรูปแบบและมีอยู่ในของผู้ใช้ $_SESSION. การตรวจสอบนี้ป้องกันหน้าการยืนยัน "ขอบคุณ" ของแบบฟอร์มจากการเข้าชมโดยไม่มีการรับรองความถูกต้อง เนื่องจากตัวจัดการการส่งแบบฟอร์มบนเว็บถูกแทนที่เพื่อให้ข้อมูลการส่งถูกบันทึกลงในฐานข้อมูลภายนอก

การเปลี่ยนเส้นทางหน้าการยืนยันแบบกำหนดเองเขียนเป็น:

$form_state['redirect'] = array("ส่งแบบฟอร์ม/$nid/thank-you", array("query" => array("token" => $token)));

ซึ่งเห็นได้ในแถบที่อยู่ของเบราว์เซอร์เป็น:

www.domain.com/form-submission/1/thank-you?token=YmFzZTY0dG9rZW4=

ก่อนการอัปเดต Drupal Core สิ่งต่างๆ ทำงานได้ตามที่คาดไว้ อย่างไรก็ตาม ตั้งแต่นั้นมา การส่งใด ๆ ที่มาพร้อมกับการเปลี่ยนเส้นทางที่กำหนดเองนั้นกำลังส่ง a

403 รับโทเค็น=YmFzZTY0dG9rZW4=

ปฏิเสธการเข้าใช้. คุณไม่ได้รับอนุญาตให้เข้าถึงหน้านี้

เมื่อส่งแบบฟอร์ม

เมื่อฉันแก้ไข

$form_state['redirect'] = array("ส่งแบบฟอร์ม/$nid/thank-you", array("query" => array("token" => $token)));

ถึง

$form_state['redirect'] = array("ส่งแบบฟอร์ม/$nid/thank-you");

บางครั้งแบบฟอร์มจะผ่านไปยังหน้าการยืนยันที่กำหนดเอง บางครั้งก็ไม่ผ่าน ผลลัพธ์ไม่สอดคล้องกัน

เว็บฟอร์มและโทเค็นของโมดูลเป็นปัจจุบัน

ใครบ้างมีข้อมูลเชิงลึก เครื่องมือ เคล็ดลับสำหรับการแก้ปัญหาหรือความช่วยเหลือที่สามารถแบ่งปันได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา