Discuz! X3.5 เวอร์ชั่นล่าสุดป้องกันปัญหานี้แล้ว หากติดตั้งใหม่จะมีการป้องกันให้อยู่แล้ว
แต่ถ้าอัปเกรดจากเวอร์ชั่นเก่ามาแล้วยังไม่มี สามารถเปิดได้ด้วยการ
เปิดไฟล์
/config/config_global.php
เพิ่มบรรทัดนี้หากไม่มี
- $_config['admincp']['mustlogin'] = 1;
คัดลอกไปที่คลิปบอร์ด
เอาไปต่อขึ้นบรรทัดใหม่หลังจาก $_config['admincp'] อันสุดท้ายที่มีก็ได้ครับ หรือถ้าไม่รู้ว่าตรงไหนดี ล่างสุดของไฟล์เลยก็ได้ ก่อน ?>
----- เนื้อหากระทู้เดิม -----
แม้ว่าเราจะมีการป้องกันการล็อคอินด้วย Captcha ต่าง ๆ ไม่ว่าจะเป็นในระบบ Discuz! เอง หรือ reCaptcha ก็ดี
ระบบต่าง ๆ เหล่านี้จะไปช่วยป้องกันได้เพียงการล็อคอินผ่านหน้าเว็บหลักเท่านั้น ไม่รวมไปถึงหน้า AdminCP
ทำให้เกิดช่องโหว่ในการ Bypass Captcha ด้วยการล็อคอินที่หน้า AdminCP (เปิด yourdomain.com/admin.php) โดยตรง
ปล. ทั้งนี้ปกติในระบบก็มีการป้องกันอยู่แล้วด้วยการจำกัดครั้งที่สามารถล็อคอินผิดได้ต่อ IP ต่อวัน
วิธีการบังคับให้ล็อคอินหน้าเว็บก่อนเข้า AdminCP
1. เปิดไฟล์ admin.php
2. ค้นหาคำว่า
3. ขึ้นบรรทัดใหม่ต่อจากที่ค้นหาเจอ แล้วใส่โค้ดด้านล่างลงไป
- if(!$_G['uid'] || $_G['groupid'] != 1) {
- dheader("Location: ./index.php");
- }
คัดลอกไปที่คลิปบอร์ด
4. บันทึกและทดสอบด้วยการเปิด Private Browsing / Incognito ไปหน้า yourdomain.com/admin.php
5. จะเห็นว่าหากยังไม่ได้ล็อคอินที่หน้าเว็บหลัก จะถูกเด้งกลับมายังหน้าแรก แทนที่จะแสดงหน้าล็อคอินของ AdminCP เลย
|