Intereting Posts
Как использовать обработчик сохранения Zend 2 DbTableGateway? Программно создавать изображение с веб-страницы или одного DIV Автоматическое добавление товара в корзину, когда другой товар присутствует в пурпурной тележке Передача значения из PHP в форму SimpleModal Как вызвать функцию в PHP в другой форме? Unix timestamp до 1970 (даже до 1700), используя PHP Рандомизация – и запоминание того, что вопросы рандомизации – множественного выбора в php Поиск URL-адресов из текстовой строки через php и regex? Разметка в пользовательском цикле не работает Php Curl HTTP POST REQUEST устанавливает настраиваемый заголовок с вложенными парами значений ключа Как отправить файл inline в браузер, используя php с TCPDF Доступ к серверу Google закладок с помощью PHP Скрытие панели инструментов и навигация в отчете SSRS внутри IFrame Вложения, работающие с перерывами Аудит Google Chrome при кешировании

Эффективное запрещение IP-адресов Использование php и mysql?

CREATE TABLE `banned_ip` ( `id` INT( 25 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `ip` VARCHAR( 25 ) NOT NULL , `reason` TEXT NOT NULL ) 

config.php

  <?php // config $config['host'] = "localhost"; // host name of your mysql server $config['user'] = "username"; // your mysql username $config['pass'] = "password"; // your mysql password $config['db'] = "database"; // the database your table is in. // the @ sign is an error supressor, meaning we can use our own error messages, this connects and selects db @mysql_connect("$config[host]","$config[user]","$config[pass]") or die("There was an error connecting to the database, MySql said:<br />".mysql_error().""); @mysql_select_db("$config[db]") or die("There was an error connecting to the database, MySql said:<br />".mysql_error().""); ?> 

Ban.php

 <?php include("connect.php"); $ip = $_SERVER['REMOTE_ADDR']; $find_ip = mysql_query("SELECT * FROM banned_ip WHERE ip='$ip'"); $ban = mysql_fetch_array($find_ip); if($ip == $ban['ip']){ die("You are banned from this site!"); else { echo "Your Were not Banned"; $sql = "INSERT INTO user(ip) VALUES('$ip')"; } ?> в <?php include("connect.php"); $ip = $_SERVER['REMOTE_ADDR']; $find_ip = mysql_query("SELECT * FROM banned_ip WHERE ip='$ip'"); $ban = mysql_fetch_array($find_ip); if($ip == $ban['ip']){ die("You are banned from this site!"); else { echo "Your Were not Banned"; $sql = "INSERT INTO user(ip) VALUES('$ip')"; } ?> 

То, что я делаю, это проверить мою базу данных на ip, если она запрещена или нет. ЕСЛИ его не запретили, показывая ему сообщение «Твои не были запрещены» и запретили его.

Хранение его ip в базе данных. И тогда, если он снова появится на сайте, будет показано «Вы заблокированы с этого сайта!»

Благодаря этому я предоставляю каждому ip только один раз доступ к моему контенту. Является ли этот скрипт эффективным? Этот сценарий не работает для меня. Это не запрет на мой ip, но он продолжает показывать мне мой контент.