Skip to content

filebased ip lock

  1. <?php
  2. $file = “ip_data.dat”;
  3. $duration = 30*60//30 minutes
  4. $lines = file($file);
  5. foreach($lines as $line) {
  6.     list($ip$time) = explode(“µ”$line);
  7.     if($time > time()$duration) {
  8.         $ips[$ip] = trim($time);
  9.     }
  10. }
  11. $ip = $_SERVER[‘REMOTE_ADDR’];
  12. if(@array_key_exists($ip$ips)) {
  13.     if($ips[$ip] > time()$duration) {
  14.         // TRUE
  15.         $ips[$ip] = time();
  16.         $was_here = TRUE;
  17.     }
  18. } else {
  19.     $ips[$ip] = time();
  20.     $was_here = FALSE;
  21. }
  22. $fp = fopen($file“w”);
  23. foreach($ips as $ip=>$time) {
  24.     fputs($fp$ip.“µ”.$time.\n);
  25. }
  26. fclose($fp);
  27. if($was_here) {
  28.     echo “u was here within 30 minutes.”;
  29. } else {
  30.     echo “u wasn\’t here within 30 minutes.”;
  31. }
  32. ?>
Tags: