Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запретить доступ по IP из базы...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Viper
Отправлено: 20 Февраля, 2007 - 15:13:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




вобсчем есть таблица:
id ipallow
1 10.10.1.85

и скрипт:

mysql_select_db($database_Local, $Local);
$query_Recset3 = "SELECT * FROM allowip";
$Recset3 = @mysql_query($query_Recset3, $Local) or die(mysql_error());
$row_Recset3 = mysql_fetch_array($Recset3);
if ( !$Recset3 ) die ( "Something went wrong with query!" );
if (mysql_num_rows($Recset3) > 0) {
while ($ip = mysql_fetch_array($Recset3)) {
$resip = $ip;
}
}
if ($_SERVER['REMOTE_ADDR'] != $resip['ipallow']) {
header("Location: /403.html");
}

поясняю что нужно. нужно чтобы при запросе страницы ip зашедшего сверялся с ip в базе и если он не равен значению из базы, то выдавалась ошибка 403(собстно у меня редирект).

скрипт написаный выше то работает то нет... не могу понять в чем беда.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
evgenijj
Отправлено: 20 Февраля, 2007 - 15:45:15
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $res = mysql_query( "SELECT * FROM allowip WHERE ipallow='".$_SERVER['REMOTE_ADDR']."'" );
  4. if ( mysql_num_rows( $res ) == 0 ) header("Location: /403.html");
  5. ?>
  6.  

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $res = mysql_query( "SELECT * FROM allowip" );
  4. $resip = array();
  5. while ($ip = mysql_fetch_array($res))
  6. {
  7.     $resip[] = $ip["ipallow"];
  8. }
  9.  
  10. if ( !in_array( $_SERVER['REMOTE_ADDR'], $resip ) )
  11. {
  12.     header("Location: /403.html");
  13. }
  14. ?>
  15.  
 
 Top
Viper
Отправлено: 20 Февраля, 2007 - 16:28:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




спасибо. работает Улыбка


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
valenok
Отправлено: 21 Марта, 2007 - 17:45:48
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Для тех кто потом будет пользоваться поиском:
Блокировку доступа по маске я делал так:

- По маске = также чтоб блокировались ip как xx2.2x4.xxx.197

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $blocked_ips_r = mysql_query("SELECT `ip` FROM `config_access_ip`");
  4. $Allowed = True;
  5.  
  6. while($ip = mysql_result($blocked_ips_r,0)) {
  7.        
  8.         $bip = explode(".",$ip);
  9.         $uip = explode(".",$_SERVER['REMOTE_ADDR']);
  10.  
  11.         for($i=0; $i<4; $i++){
  12.         $bip[$i] = str_replace("x","([0-9]{0,1})",$bip[$i]);
  13.         if(substr($bip[$i],-6)=='{0,1})'){$bip[$i] = substr($bip[$i],0,-6)."{1})" ;}
  14.  
  15.         if(preg_match("/".$bip[$i]."/",$uip[$i])) $Allowed = False;
  16.         }
  17.  
  18. }
  19.  
  20.  
  21. if(!$Allowed) die();
  22.  


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB