ต้องการ บล๊อก ip คนเข้าาเว็บ แบบ กำหนดเวลา เช่น แจ้งว่าอีก 10 นาทีจะ ใช่งานได้อีกครั้ง โดยตรวจสอบ จากไฟร์ txt
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ต้องการ บล๊อก ip คนเข้าาเว็บ แบบ กำหนดเวลา เช่น แจ้งว่าอีก 10 นาทีจะ ใช่งานได้อีกครั้ง โดยตรวจสอบ จากไฟร์ txt
ต้องการ บล๊อก ip คนเข้าาเว็บ แบบ กำหนดเวลา เช่น แจ้งว่าอีก 10 นาทีจะ ใช่งานได้อีกครั้ง โดยตรวจสอบ จากไฟร์ txt
ตัวอย่าง โค้ด จะเป็น แบบ บล๊อกไอพีทันที่
แต่ผมอยากได้ แบบให้มันกำหนดเวลาบล๊อก ip ได้อะครับ
เช่น แจ้งว่า ไอพี ของคุณ จะใช่งานไดีอีกครั้งใน อีก 30 นาที
และแจ้งโชวเววลาที่โดนบล๊อก น่าเว็บครับ
แต่ผมอยากได้ แบบให้มันกำหนดเวลาบล๊อก ip ได้อะครับ
เช่น แจ้งว่า ไอพี ของคุณ จะใช่งานไดีอีกครั้งใน อีก 30 นาที
และแจ้งโชวเววลาที่โดนบล๊อก น่าเว็บครับ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // กรณีเก็บในไฟล์ iP.txt // เก็บบันทีก IP บรรทัดละ 1 IP <?php $blockIP =file( "iP.txt" ); $blockStat = array_search ( $visitorIP , $blockIP ); if ( $blockStat !== false) { echo "IP ของคุณถูกบล็อก" ; exit ; } ?> |

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
ลองเก็บวันที่และเวลาในรูปแบบ 0000-00-00 00:00:00
ในอีกไฟล์ ให้บรรทัดตรงกับ บรรทัดของ IP ของอีกไฟล์
แล้วลองใช้วิธีการลบค่าเวลาในนี้เป็นแนวทาง
ในอีกไฟล์ ให้บรรทัดตรงกับ บรรทัดของ IP ของอีกไฟล์
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $timeIP =file( "timeIP.txt" ); $blockIP =file( "iP.txt" ); $blockStat = array_search ( $visitorIP , $blockIP ); if ( $blockStat !== false) { if ( strtotime ( $timeIP [ $blockStat ]. " +30 minute" )<time()){ echo "IP ของคุณถูกบล็อก" ; exit ; } } ?> |
แล้วลองใช้วิธีการลบค่าเวลาในนี้เป็นแนวทาง
สร้างฟังก์ชันลบเวลาด้วย php อย่างง่าย

ความคิดเห็นที่
2
ผมได้เขียนตรงส่วน เซฟวัน เวลา เชคไอพี มาได้แบบนี้ครับ
ผมต้องแก้ ตรงส่วนที่ 3 ยังไง ครับ ตรง เวลา
ส่วนที่1 เซฟ วันที เวลา
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php //เซฟ วันที่ เวลา คนเข้าเว็บ $date = date ( "Y-m-d" ); $time = date ( "H:i:s" ); $file = "timeip.txt" ; $file = fopen ( $file , "a" ); $data = "$timern" ; fwrite( $file , $data ); fclose( $file ); //Close the file echo "วันที่ $date เวลา $time" ; ?> |
ส่วนที่2 เซฟไอพี
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php // เชค ip และ เซฟ และ โชว ip $ip = $_SERVER [ 'REMOTE_ADDR' ]; $file = "ip.txt" ; $file = fopen ( $file , "a" ); $data = "$iprn" ; fwrite( $file , $data ); fclose( $file ); echo "IP $ip ของสมาชิก " ; ?> |
ส่วนที่3 ของพี่คนนี้ที่เขียนไว้ Ninenik ผมจะต้องแก้ ตรงเวลายังไงบ้างครับ หรือผมต้องปรับตรงส่วนที่ 1 เป็น นับเวลาอย่างเดียว
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $timeIP =file( "timeIP.txt" ); $blockIP =file( "iP.txt" ); $blockStat = array_search ( $visitorIP , $blockIP ); if ( $blockStat !== false) { if ( strtotime ( $timeIP [ $blockStat ]. " +30 minute" )<time()){ echo "IP ของคุณถูกบล็อก" ; exit ; } } ?> |

ความคิดเห็นที่
3
ดูเนื้อหานี้เป็นแนวทาง
แนวทางการบล็อค IP ด้วยไฟล์ พร้อมตั้งเวลายกเลิกการบล็อค อย่างง่าย
https://www.ninenik.com/content.php?arti_id=797 via @ninenik

ความคิดเห็นที่
4
ขอบคุณครับผม Ninenik ใช่งานได้แล้วครับ
แต่ ติดปัญหานิดนึง ครับ เมือ มันนับ เวลาจน ครบ กำหนด แล้ว
สมาชิกที่ใช่ ไอพี เดิม เข้ามาอีกรอบ มันจะ ไม่บล๊อก ไอพี่ อะครับ
ผมจะสั่ง ให้รัเสต ค่า ที่เก็บไว้ ก่อนน่า นี้ยังไงครับ

ความคิดเห็นที่
5
ลองดูส่วนเนื้อหาเพิ่มเติมในตอนท้าย
แนวทางการบล็อค IP ด้วยไฟล์ พร้อมตั้งเวลายกเลิกการบล็อค อย่างง่าย
https://www.ninenik.com/content.php?arti_id=797 via @ninenik

ความคิดเห็นที่
6
ขอบคุณครับผม ได้แล้วครับ

ขอบคุณทุกการสนับสนุน
![]()