popiazaza โพสต์ 2021-4-15 14:16:11

วิธีการบังคับให้ล็อคอินหน้าเว็บก่อนเข้า AdminCP (ไม่จำเป็นแล้วสำหรับ Discuz! X3.5)

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. ค้นหาคำว่า
$discuz->init();3. ขึ้นบรรทัดใหม่ต่อจากที่ค้นหาเจอ แล้วใส่โค้ดด้านล่างลงไป
if(!$_G['uid'] || $_G['groupid'] != 1) {
    dheader("Location: ./index.php");
}
4. บันทึกและทดสอบด้วยการเปิด Private Browsing / Incognito ไปหน้า yourdomain.com/admin.php
5. จะเห็นว่าหากยังไม่ได้ล็อคอินที่หน้าเว็บหลัก จะถูกเด้งกลับมายังหน้าแรก แทนที่จะแสดงหน้าล็อคอินของ AdminCP เลย


kanminiza โพสต์ 2021-5-21 16:27:28

ขอบพระคุณมากครับ

bonparadorn โพสต์ 2021-6-5 22:42:14

มี Anti Brute Force Attack กันหมดแล้วไม่ใช่หรอ หะหรือว่าไม่มี

popiazaza โพสต์ 2021-6-6 18:25:31

bonparadorn ตอบกลับเมื่อ 2021-6-5 22:42
มี Anti Brute Force Attack กันหมดแล้วไม่ใช่หรอ หะหรือว่าไม่มี

ก็แล้วแต่ครับว่าอยากใช้ Captcha ป้องกันอีกชั้นมั้ย
หน้า: [1]
ดูในรูปแบบกติ: วิธีการบังคับให้ล็อคอินหน้าเว็บก่อนเข้า AdminCP (ไม่จำเป็นแล้วสำหรับ Discuz! X3.5)