Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Бан в Гостевой книге
 
 автор: yustas619   (15.11.2006 в 11:46)   письмо автору
 
 

Друзья Гостевая на файлах простая, все работает, но достали иностранцы и роботы, а вход по паролю делать не хочется, у меня стоит Бан по IP, но забанить не могу, ИП пишет мой почему-то, не могу врубиться как это все работает. Помогите пожалуйста!
Это index:
$check=file_get_contents("ban.txt");
$ip=$_SERVER['REMOTE_ADDR'];
if(substr_count($check,$ip)>0)
{exit("Твой ip $REMOTE_ADDR найден в базе забаненых!<br><h1> Да вы забанены :) =)</h1><br>Ты думаешь ошибка?Пиши Admin!
"); } // если более нуля раз - IP обнаружен в записях, то баним
else{print "";}// иначе... нет.
?>

Это админка:
$ban = $_GET['ban'];
if($ban)
{
echo "<center><form method=post action=admin_form.php>
<input type=text name=ipban tabindex=1 size=66>
<input type=submit value=Занести_ip_в_базу_забанненых>
</form></center>";
}
?>

Это Admin_form:
$f = fopen("ban.txt", "at");
$n=file("ban.txt"); $total=count($text)+1;
$str="$ipban\r\n";
$str=str_replace("\r\n","",$str);
fputs($f, $str."\n");
fclose($f);

Нужна помощь!!!!

   
 
 автор: cheops   (15.11.2006 в 13:39)   письмо автору
 
   для: yustas619   (15.11.2006 в 11:46)
 

>ИП пишет мой почему-то
IP-адрес сервера имеется в виду или ваш клиентский IP-адрес?

   
 
 автор: yustas619   (15.11.2006 в 15:32)   письмо автору
 
   для: cheops   (15.11.2006 в 13:39)
 

Вы знаете, я думал, что это мой, а сечас зашел от разных провайдеров и оказалось, что пишется совсем неизвестный IP и самое интересное один для всех какой-то 82.138.57.1

   
 
 автор: Unkind   (15.11.2006 в 15:41)   письмо автору
 
   для: yustas619   (15.11.2006 в 15:32)
 

Да ладно :)))

   
 
 автор: yustas619   (15.11.2006 в 15:42)   письмо автору
 
   для: Unkind   (15.11.2006 в 15:41)
 

Сейчас посмотрел это IP- SERVER, может какая ошибка вкралась, сами то мы не местные.:))))

   
 
 автор: cheops   (15.11.2006 в 16:33)   письмо автору
 
   для: yustas619   (15.11.2006 в 15:32)
 

А это не IP-адрес сервера где у вас сайт расположен?

PS IP-адрес принадлежит COMCOR-ZAOTelios

   
 
 автор: yustas619   (15.11.2006 в 16:39)   письмо автору
 
   для: cheops   (15.11.2006 в 16:33)
 

В том-то и дело, что нет! Вообще, может у меня не правильно, что написано, я в этом деле, ну сказать что туп, не совсем, но близко к этому, а делать надо! Помогите люди добрые!

   
 
 автор: Trianon   (15.11.2006 в 16:42)   письмо автору
 
   для: yustas619   (15.11.2006 в 16:39)
 

среди print_r($_SERVER); нигде ничего похожего на IP клиента нету?

   
 
 автор: yustas619   (15.11.2006 в 16:53)   письмо автору
 
   для: Trianon   (15.11.2006 в 16:42)
 

Ты имеешь ввиду, что вообще все что у меня написано это полная ерунда! Я что-то не догнал!

   
 
 автор: kasmanaft   (15.11.2006 в 17:05)   письмо автору
 
   для: yustas619   (15.11.2006 в 16:53)
 

Наверное нет :)
Поискайте ваш злосчастный IP в том, что вернет этот код

хотя ..... возможно и не прав =))

   
 
 автор: yustas619   (15.11.2006 в 17:11)   письмо автору
 
   для: kasmanaft   (15.11.2006 в 17:05)
 

Друзья мои, посмотрите на мои коды, может что не хватает или лишнее, я когда делал Гостувую брал коды из разных мест, настраивал ее неделю, пока добрый человек не сказал, что не правильно, может и в этом случае, что-то не то, посмотрите пожалуйста!

   
 
 автор: cheops   (17.11.2006 в 12:38)   письмо автору
 
   для: yustas619   (15.11.2006 в 17:11)
 

Если у вас переменная $_SERVER['REMOTE_ADDR'] возвращает не тот адрес, то правильность или неправильность кода уже не имеет значения. Выполните скрипт
<?php
  phpinfo
();
?>

посмотрите в какой переменной находится ваш IP-адрес? Если IP-адрес нашёлся, используйте эту переменную вместо REMOTE_ADDR. Если его там вообще нет - трясите службу тех.поддержки - IP-адрес скорее всего попадает в специальную серверную переменную, которую придётся извлекать при помощи функции getenv().

   
 
 автор: Trianon   (15.11.2006 в 17:40)   письмо автору
 
   для: yustas619   (15.11.2006 в 16:53)
 

не будьте таким мнительным.
я имел в виду лишь то, что сказал.

   
 
 автор: yustas619   (15.11.2006 в 18:01)   письмо автору
 
   для: Trianon   (15.11.2006 в 17:40)
 

Мне как бы не влом удалять каждый день весь мусор из Гостевой, но хотелось бы запретить этим "товарищам" вход автоматом

   
 
 автор: yustas619   (17.11.2006 в 10:30)   письмо автору
 
   для: yustas619   (15.11.2006 в 18:01)
 

ТОварищи! Друзья! Господа! Ну помогите, кто чем может!

   
 
 автор: stacey campbell   (17.11.2006 в 10:47)   письмо автору
 
   для: yustas619   (17.11.2006 в 10:30)
 

У меня такая же проблема, может поможем друг другу даже есть идея как избавиться, вот ттолько мне не хватает опыта и мозгов применить ее совместно с представленной на этом сайте гостевой (на файлах). Смотри здесь: http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=27815&page=1

   
 
 автор: yustas619   (17.11.2006 в 13:04)   письмо автору
 
   для: stacey campbell   (17.11.2006 в 10:47)
 

Я уже столько перелопатил, но все сложно через чур. Да и не хотелось применять пароли всякие, чувствую, что должно быть что-то простое, но пока не могу догнать, но думаю народ поможет, тут не хватает что-то. а вот что?

   
 
 автор: yustas619   (20.11.2006 в 13:44)   письмо автору
 
   для: yustas619   (17.11.2006 в 13:04)
 

Нашел! Вместо REMOTE было SERVER. Спасибо ВСЕМ! Еще поставил .htaccess, все просто отличненько! Особая благодарность Cheops!!!!!!!!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования