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

Форум PHP

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

 

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

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

тема: Помогите с IP фильтрацией
 
 автор: PashaX   (17.10.2006 в 20:41)   письмо автору
 
 

Нашел скрипт который забаненый диапазон IP (81.195.0.0 - 81.195.27.255) направляет на Google.cOm. Помогите переделать этот скрипт! Хочу чтобы забаненные диапазоны IP скрипт брал из файла. Как это сделать не заню =) в PHP я чайник =)


<?php
$ip 
getenv ("REMOTE_ADDR");
$ip str_replace(".",":",$ip);
list(
$ip1,$ip2,$ip3,$ip4) = split(":",$ip);
if(((
intval($ip1) == 81) and (intval($ip2) == 195) and (intval($ip3) <= 27)  and (intval($ip3) <= 255)))
{
include(
"bad.html");
header('Location: http://www.google.com');
} else {
header('Location: index.htm');
}
?>

   
 
 автор: PashaX   (17.10.2006 в 23:59)   письмо автору
 
   для: PashaX   (17.10.2006 в 20:41)
 

Вот тут нашёл как это делать =) только нифига не понимаю

h**p://icecity.ru/blog/cmnts/5/

Ребя! Сос! я знаю вы это можите =)

   
 
 автор: Spayker   (18.10.2006 в 01:11)   письмо автору
 
   для: PashaX   (17.10.2006 в 20:41)
 

А в каком виде в файле ип адреса сохранены? И какой файл?

   
 
 автор: PashaX   (18.10.2006 в 01:14)   письмо автору
 
   для: Spayker   (18.10.2006 в 01:11)
 

пока не в каком =)

можно так
23.123.123.11 - 123.12.123.12
или так
23123123011-123012123012
как удобней будет

   
 
 автор: PashaX   (18.10.2006 в 01:15)   письмо автору
 
   для: PashaX   (18.10.2006 в 01:14)
 

я тут ещё чегото надыбал в этом форуме =)
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4546

   
 
 автор: kasmanaft   (18.10.2006 в 06:51)   письмо автору
 
   для: PashaX   (18.10.2006 в 01:15)
 

Вроде бы то, что вам и нужно ... теперь осталось создать файл с диапазонами ...
определенный IP нужно сверить со всеми диапазонами из файла?

   
 
 автор: PashaX   (18.10.2006 в 11:54)   письмо автору
 
   для: kasmanaft   (18.10.2006 в 06:51)
 

to kasmanaft:
Да точно оно =) Вчера всю ночь сидел подключал к этому скрипту файл с диапазонами IP =) вроде получилось. Сейчас потестирую и то что получилось сюда пОкАжУ =)

   
 
 автор: PashaX   (18.10.2006 в 12:12)   письмо автору
 
   для: PashaX   (18.10.2006 в 11:54)
 

Круть! Работает! =) Сейчас этот скрипт сравнивает IP211.106.87.45 с диапазонами IP в ipbase.txt.

=== ipbase.txt ===
110.100.55.25-114.43.244.17
210.100.55.25-214.43.244.17
310.100.55.25-114.43.244.17
==============

Дальше всё сам доделаю. =) Дальше понятно.
На этой стадии у меня всё прально? Так то скрипт вроде работает =)



<?php
function checkIPorRange ($ip$ip_address) {
    if (
ereg("-",$ip_address)) {
        
$ar explode("-",$ip_address);
        
$your_long_ip ip2long($ip);
        if ( (
$your_long_ip >= ip2long($ar[0])) && ($your_long_ip <= ip2long($ar[1])) ) {
            return 
TRUE;

        }
    } else {
        if (
$ip == $ip_address) {
            return 
TRUE;

        }
    }

    return 
FALSE;
}

$data=file("ipbase.txt");
for(
$i=0;$i<sizeof($data);++$i)

{
  
//echo $data[$i];
     
$ip_range $data[$i];
if (
checkIPorRange("211.106.87.45"$ip_range))
  
  
//  echo  "принадлежит!";
header('Location: http://www.google.com');
}

?>

   
 
 автор: PashaX   (18.10.2006 в 16:07)   письмо автору
 
   для: PashaX   (18.10.2006 в 12:12)
 

всё! всем спасибо! всё работает! =)

   
Rambler's Top100
вверх

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