Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do I block a user temporarily
    primarykey
    data
    text
    <p>I want to block visitor between 2 to 5 minutes every 100 view.. if user view 100 page between 2 to 5 minutes then block user, if user view 100 view in 6 minutes then don't block and reset the counter.</p> <p>I already create the counter script but i have issue with creating the function which can block visitor between 2-5 mint.</p> <p>I need help to fix this problem... I try to create a if condition but no luck.. help me please...</p> <pre><code> $sb_current_time = date("Y-m-d H:i:s", Time()); /////////////////// Cookies Encryption ////////////// function encrypt($text) { $key = "E4HD9h4DhS23DYfhHemkS3Nf"; // 24 bit Key $iv = "fYfhHeDm"; // 8 bit IV $bit_check = 8; $text_num = str_split($text, $bit_check); $text_num = $bit_check - strlen($text_num[count($text_num) - 1]); for ($i = 0; $i &lt; $text_num; $i++) { $text = $text . chr($text_num); } $cipher = mcrypt_module_open(MCRYPT_TRIPLEDES, '', 'cbc', ''); mcrypt_generic_init($cipher, $key, $iv); $decrypted = mcrypt_generic($cipher, $text); mcrypt_generic_deinit($cipher); return base64_encode($decrypted); } //////////////// Encription end ///////// ////// Cookies decription ///// function decrypt($encrypted_text) { $key = "E4HD9h4DhS23DYfhHemkS3Nf"; // 24 bit Key $iv = "fYfhHeDm"; // 8 bit IV $bit_check = 8; $cipher = mcrypt_module_open(MCRYPT_TRIPLEDES, '', 'cbc', ''); mcrypt_generic_init($cipher, $key, $iv); if ($encrypted_text != "") { $decrypted = mdecrypt_generic($cipher, base64_decode($encrypted_text)); mcrypt_generic_deinit($cipher); $last_char = substr($decrypted, -1); for ($i = 0; $i &lt; $bit_check - 1; $i++) { if (chr($i) == $last_char) { $decrypted = substr($decrypted, 0, strlen($decrypted) - $i); break; } } } return $decrypted; } ///////// Coookies decription end ///////////////// //$sb_check_ban_time = date($sb_current_time, strtotime("+20 minute")); if ($_COOKIE['spamer_check_time'] == "") { setcookie('spamer_check_time', encrypt(time())); } function time_deff($date2) { $date1 = time(); //sleep(2000); // $date2 = decrypt($_COOKIE['spamer_check_time']); //echo $date2; $mins = ($date1 - $date2) / 60; //echo $mins; return $mins; } //$sb_cookie_expiration = time() + 1200; //echo $sb_cookie_expiration; if ($_COOKIE['view2'] != "") { $explod = explode("-", decrypt($_COOKIE["view2"])); } $i_print = $explod[0]; // $i2=$explod[1]; //echo $i2; $i = 1 + $i_print; setcookie("view2", encrypt($i . "-123456789")); //// Need to add extra bit to block unwanted text and secure the cookes more.. // $i = $i++; // echo $i_print; //echo "empty".decrypt($_COOKIE["spamer_check_time"]); $spammer_blocker = decrypt($_COOKIE["spammer_blocker"]); // or $spammer_blocker=="" $mins = time_deff(decrypt($_COOKIE['spamer_check_time'])); $diff_time = .1; /// User BLock Time if ($mins &gt;=1 or $mins &lt;=2) { $block_user=1; } elseif ($mins &gt;= 2.1) { $block_user=2; } else { } /* if (.2&gt;$mint) { // echo "not done"; $block_user=0; } elseif (.2 &lt;= $mint) { echo "block User"; $block_user=1; } elseif ($mins&gt;=1) { echo "reset cookies"; $block_user=2; }*/ if ($block_user==1 and $i_print &gt;= 15) { if ($spammer_blocker == "") { setcookie("spammer_blocker", encrypt(time())); header('HTTP/1.1 403 Forbidden'); $time_rev = $diff_block_time - $diff_time; $round_time = round($time_rev, 2); $time_reverse = str_replace('-', '', $round_time); echo "Wait " . $time_reverse . " Minuts before using this site.."; exit(0); } else { //$sb_check_ban_time = $spammer_blocker; $diff_block_time = time_deff($spammer_blocker); //echo $diff_block_time; //$sb_check_ban_time = date($spammer_blocker, strtotime("+1 minute")); if ($diff_time &lt;= $diff_block_time) { /// echo "Delete the IP and cookies"; setcookie("spammer_blocker", ""); setcookie("view2", ""); setcookie("spamer_check_time", ""); } else { //echo "Still Block"; /// echo "Still Block"; header('HTTP/1.1 403 Forbidden'); // echo "IP Block for Spaming wait few mint"; $time_rev = $diff_block_time - $diff_time; $round_time = round($time_rev, 2); $time_reverse = str_replace('-', '', $round_time); echo "Wait " . $time_reverse . " Minuts before using this site.."; exit(0); } } } elseif ($block_user==2) { setcookie("spammer_blocker", ""); setcookie("view2", ""); setcookie("spamer_check_time", ""); echo "cookies reset"; } else { } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload