Показать сообщение отдельно

  #7  
Старый 19.11.2007, 15:04
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

Цитата:
Сообщение от combatsxx  
Нужен Скрипт (Пхп) для автоматического бана Айпи
Через куки или через mysql
Не совсем понял что значит для автоматического бана.
Если ты имеешь ввиду что ты вносишь ip в блэк и соответственно юзера не пускает на страницу, то можно это осуществить с Mysql.
Я бы сделал примерно так:
Создал бы таблицу в БД (например ipban) с полем ip
PHP код:
CREATE TABLE `ipban` (
`
idint NOT NULL auto_increment,
`
iptext NOT NULL,
PRIMARY KEY  (`id`)
ENGINE=MyISAM DEFAULT CHARSET=cp1251
Заносить ip-шники примерно так:
ban.php
PHP код:
<?php
//Получаем IP
if(getenv('HTTP_X_FORWARDED_FOR'))
{
$ip getenv('HTTP_X_FORWARDED_FOR');}
elseif(
getenv('REMOTE_ADDR'))
{
$ip getenv('REMOTE_ADDR');}

//Соединяемся с БД
$host "localhost";
$user "";
$pass "";
$db "";
$connect = @mysql_connect("$host""$user","$pass");
@
mysql_select_db("$db"$connect);

//Выводим форму
if($_POST['ips'] == null)
{echo
"
<form action method='post'>
<input type='name' name='ips'>
<input type='submit' value='Забанить'> 
</form>"
;
}
else{
$ips htmlspecialchars($_POST['ips']);
//Делаем запрос на добавлние IP в блэк
$query "INSERT INTO `ipban`  VALUES(NULL, '$ips')";
$result = @mysql_query($query);
if(!
$result) {echo"Ошибка!";}
else{echo
"IP $ips забанен!";}
}
?>
Файл проверки ip на наличие бана
chek.php
PHP код:
<?php
//Получаем IP
if(getenv('HTTP_X_FORWARDED_FOR'))
{
$ip getenv('HTTP_X_FORWARDED_FOR');}
elseif(
getenv('REMOTE_ADDR'))
{
$ip getenv('REMOTE_ADDR');}

//Соединяемся с БД
$host "localhost";
$user "";
$pass "";
$db "";
$connect = @mysql_connect("$host""$user","$pass");
@
mysql_select_db("$db"$connect);

//Сравниваем с ip-шниками в БД
$query "SELECT * FROM `ipban` WHERE `ip` = '$ip'";
$result = @mysql_query($query);
if(@
mysql_num_rows($result) > )
{echo
"Вы забанены!";}
else{echo
"Вы не забанены!";}
?>
Короче бан по такому принципу мона сделать. За ошибки и извращенство в коде просьба не пинать, тока учу php

Последний раз редактировалось .:ENOT:.; 21.11.2007 в 14:57..
 
Ответить с цитированием