Jinns โพสต์ 2011-2-8 00:26:40

แก้แบนล๊อกอิน 15 นาที สำหรับ X1-X1.5

บางครั้งเราเป็น Admin เองยังพลาดพลั้ง โดนแบนเองอีกด้วยเห้อ...
ผมเองก็หาที่ปรับใน Control Panel ไม่เจอที่แท้มันไปอยู่ในไฟล์ ตามนี้เลยครับ

สำหรับ X-1.5 เข้าไปที่source\function\function_member.php
สำหรับ X-1.0 เข้าไปที่source\function\function_login.php

ค้นหาคำว่า
(TIMESTAMP - $login['lastupdate'] > 900))

เปลี่ยตรงตัวเลข 900 เป็นอย่างอื่นครับนับเป็นวิ
เช่น 15*60 ได้ 900 เงี้ย [คือ15นาที คูณกับ 60 วินาที ถ้า 5 นาทีก็ 300]
เสร็จแล้วครับ อัพทับตัวเดิมด้วย

แล้วก็แก้ที่ไฟล์ภาษาอีกทีนะคับ หรือไม่แก้ก็ได้ ปล่อยเค้ารอ 15นาทีก็ได้ ทั้ง ๆ ที่เราตั้งมันแค่ 5 นาที หุหุ

** การโมทุกครั้งมีความเสี่ยง ผู้โมควรสำรองขอข้อมูลให้ดีก่อนการ Replace File **

tarusame01 โพสต์ 2011-2-8 02:06:45

แก้ไขครั้งสุดท้ายโดย tarusame01 เมื่อ 2011-2-8 08:02

แก้ไขครั้งสุดท้ายโดย tarusame01 เมื่อ 2011-2-8 02:07

เพิ่มเติมนะครับ อาจจะเจอปัญหาภายหลังก็ได้นะ
===============================

สำหรับ DZX 1.5 >> ..../source/function >> function_member.php

หลังจากนั้นให้ไปยัง บรรทัดที่ 100 - 113 นี่คือ Function logincheck
เป็นฟังก์ชัน ที่ใช้สำหรับ ตรวจสอบความผิดพลาดของ input ที่เราใส่เข้าไป

แก้ไขตามนี้นะ
100 :function logincheck() { <<สังเกตุที่
......
แล้วเลื่อนไปดูที่ บรรทัด ที่ 104
        $return = (!$login || (TIMESTAMP - $login['lastupdate'] > 60)) ? 5 : max(0, 6 - $login['count']);

60 นี่ก็คือ วินาที(สีแดง) ที่เรากำหนด เมื่อ login ผิดพลาด สูงสุด 6 ครั้ง(สีชมพู)
(สีเขียว) = เลขที่ต้องการให้โชว์ ในหน้าเว็บ โดยเริ่มต้นที่ 5

และไปยังบรรทัดที่ 110
                DB::query("DELETE FROM ".DB::table('common_failedlogin')." WHERE lastupdate<$_G-61", 'UNBUFFERED');

สีน้ำเงิน ::> ก็คือให้มันเริ่มนับที่ -61 เพราะว่า เมื่อกด ผิดครบจำนวนที่เรากำหนดข้างบน
ระบบจะเริ่มนับที่ 61 วินาที ในระบบ แต่ สิ่งที่เราจะเห็นนั้นก็คือ 60 วินาที เพราะ เมื่อคลิ๊กผิดพลาดครั้งสุดท้าย ระบบจะเริ่มนับเลยโดยเราไม่สาม่ารถมองเห็นค่าผิดพลาดค่าแรกได้ !!

========================
งง ถามได้นะครับ ^^ ช่วยๆกัน

Jinns โพสต์ 2011-2-8 07:43:10

โอเคเพิ่มเติมจากด้านบนนะครับ ขอบคุณที่เค้าแจ้งมาผมเองก็ไม่รู้เหมือนกัน

ในไฟล์เดียวกัน ค้นหา" WHERE lastupdate<$_G-901"ตรงที่ 901 ให้เปลี่ยนเป็นตัวเลขที่เราได้ตั้งใหม่ แล้ว + อีก 1
เช่นถ้าด้านบนต้องการแบนแค่ 5 นาทีก็จะเป็น 300 ส่วนด้านล่างแก้จาก 901 เป็น 301 ครับ

khonakha โพสต์ 2011-2-8 10:58:23

ขอบคุณมากครับ
sm911dz

bomwhat โพสต์ 2011-2-8 20:56:29

ความรู้ทั้งนั้น

ชอบชอบsm920dz
หน้า: [1]
ดูในรูปแบบกติ: แก้แบนล๊อกอิน 15 นาที สำหรับ X1-X1.5