ต้องการ บล๊อก ip คนเข้าาเว็บ แบบ กำหนดเวลา เช่น แจ้งว่าอีก 10 นาทีจะ ใช่งานได้อีกครั้ง โดยตรวจสอบ จากไฟร์ txt

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ต้องการ บล๊อก ip คนเข้าาเว็บ แบบ กำหนดเวลา เช่น แจ้งว่าอีก 10 นาทีจะ ใช่งานได้อีกครั้ง โดยตรวจสอบ จากไฟร์ txt

ต้องการ บล๊อก ip คนเข้าาเว็บ แบบ กำหนดเวลา เช่น แจ้งว่าอีก 10 นาทีจะ ใช่งานได้อีกครั้ง โดยตรวจสอบ จากไฟร์ txt
ตัวอย่าง โค้ด จะเป็น แบบ บล๊อกไอพีทันที่
แต่ผมอยากได้ แบบให้มันกำหนดเวลาบล๊อก ip ได้อะครับ
เช่น แจ้งว่า ไอพี ของคุณ จะใช่งานไดีอีกครั้งใน อีก 30 นาที
และแจ้งโชวเววลาที่โดนบล๊อก น่าเว็บครับ

// กรณีเก็บในไฟล์ iP.txt            
// เก็บบันทีก IP บรรทัดละ 1 IP   

<?php

$blockIP=file("iP.txt");    
 
$blockStat = array_search($visitorIP,$blockIP);
  
if($blockStat !== false)
    {
        echo "IP ของคุณถูกบล็อก"; 
        exit;
    }
?>


นรินทร กลิ่นสุคนธ์ 171.7.162.xxx 17-04-2017 23:24:11

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ลองเก็บวันที่และเวลาในรูปแบบ 0000-00-00 00:00:00
ในอีกไฟล์ ให้บรรทัดตรงกับ บรรทัดของ IP ของอีกไฟล์

<?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 อย่างง่าย 


ninenik 180.183.112.xxx 18-04-2017
 ความคิดเห็นที่ 2

ผมได้เขียนตรงส่วน เซฟวัน  เวลา เชคไอพี มาได้แบบนี้ครับ

ผมต้องแก้ ตรงส่วนที่ 3 ยังไง ครับ ตรง เวลา


ส่วนที่1 เซฟ วันที เวลา

<?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 เซฟไอพี


<?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 เป็น นับเวลาอย่างเดียว



<?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;
        }
    }
?>




นรินทร กลิ่นสุคนธ์ 171.7.162.xxx 19-04-2017 02:56
 ความคิดเห็นที่ 3
ดูเนื้อหานี้เป็นแนวทาง

แนวทางการบล็อค IP ด้วยไฟล์ พร้อมตั้งเวลายกเลิกการบล็อค อย่างง่าย 


ninenik 180.183.121.xxx 19-04-2017
 ความคิดเห็นที่ 4

ขอบคุณครับผม  Ninenik  ใช่งานได้แล้วครับ

แต่ ติดปัญหานิดนึง ครับ  เมือ มันนับ เวลาจน ครบ กำหนด แล้ว

สมาชิกที่ใช่ ไอพี เดิม เข้ามาอีกรอบ  มันจะ ไม่บล๊อก ไอพี่  อะครับ 

ผมจะสั่ง ให้รัเสต ค่า ที่เก็บไว้ ก่อนน่า นี้ยังไงครับ



นรินทร กลิ่นสุคนธ์ 171.7.162.xxx 19-04-2017 19:48
 ความคิดเห็นที่ 5
ลองดูส่วนเนื้อหาเพิ่มเติมในตอนท้าย

แนวทางการบล็อค IP ด้วยไฟล์ พร้อมตั้งเวลายกเลิกการบล็อค อย่างง่าย 


ninenik 1.46.74.xxx 19-04-2017
 ความคิดเห็นที่ 6
ขอบคุณครับผม ได้แล้วครับ 


นรินทร กลิ่นสุคนธ์ 171.7.162.xxx 20-04-2017 19:39
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ