Discuz Thai

 ลืมรหัสผ่าน
 สมัครสมาชิก

ข้อตกลงการใช้งานกระดานข่าวดิสคัสไทย DiscuzThai Agreement (English Version) ประกาศดิสคัสไทย - ทำเนียบดิสคัสภาษาไทย

Discuz! X3.5 Thai R20240520 Rev.9 (NEW) [วิดีโอช่วยสอน] อัปเกรด Discuz! X3.4 เป็น X3.5 Discord ของ Discuz! Thai Community อย่างเป็นทางการ

Discuz! X3.4 Thai R20220811 (REV.75) สิ้นสุดการสนับสนุน Discuz! X3.4 ภาษาไทยตั้งแต่วันนี้เป็นต้นไป (ขอแนะนำให้อัปเกรดเป็น X3.5 แทน)

ค้นหา
แท็กยอดนิยม: ดิสคัสภาษาไทย Discuz Thai
ดู: 4119|ตอบกลับ: 4

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

[คัดลอกลิงก์]
Jinns โพสต์ 2011-2-8 00:26:40 |โหมดอ่าน
บางครั้งเราเป็น Admin เองยังพลาดพลั้ง โดนแบนเองอีกด้วยเห้อ...
ผมเองก็หาที่ปรับใน Control Panel ไม่เจอที่แท้มันไปอยู่ในไฟล์ ตามนี้เลยครับ

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

ค้นหาคำว่า
  1. (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[timestamp]-61", 'UNBUFFERED');

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

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

แสดงความคิดเห็น

เอาเป็นว่าสำคัญที่บรรทัด ที่ 110  โพสต์ 2011-2-8 07:35

คะแนน

จำนวนผู้เข้าร่วม 1จิตพิศัย +1 ย่อ เหตุผล
Jinns + 1

ดูบันทึกคะแนน

 เจ้าของ| Jinns โพสต์ 2011-2-8 07:43:10
โอเคเพิ่มเติมจากด้านบนนะครับ ขอบคุณที่เค้าแจ้งมาผมเองก็ไม่รู้เหมือนกัน

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

khonakha โพสต์ 2011-2-8 10:58:23
ขอบคุณมากครับ

bomwhat โพสต์ 2011-2-8 20:56:29
ความรู้ทั้งนั้น

ชอบชอบ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

รายละเอียดเครดิต

รายชื่อผู้กระทำผิด|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2024-11-22 09:34

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้