форум вебмастероff на AlfaSpace.NET

Ubuntu и Linux |реактивный бесплатный хостинг | Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга | правила форума

  Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ °
Форум вебмастеров на AlfaSpace.NET / Создание сайта / Нужен скрипт...
. 1 . 2 . 3 . >>
Автор Сообщение
Lythium
Участник

194
# Дата: 27 Ноя 2006 10:56


Мне нужен скрипт который запрещает доступ к сайту определённому диапазону IP адресов.., кто-то знает? (на html или php)

silen
The Majestic

521
# Дата: 27 Ноя 2006 13:27


Да ёмое... берешь переменную ip засовываешь туда нужные значения затем:
(если переменная это $peremennaya)
 if(in_array($_SERVER['REMOTE_ADDR'], $peremennaya)) 
die("Пошел вон злобный нарушитель!"); 


Lythium
Участник

194
# Дата: 27 Ноя 2006 13:31


silen
Я не силен в php, но подробнее можешь расписать где прописывать ip и т.д..

Андрей
Алексеевич

2123
# Дата: 27 Ноя 2006 13:57


Это доволько непростой скрипт, если он должен работать, как надо, то надо учитывать много вещей, иначе его будет очень просто обойти.

Lythium
Участник

194
# Дата: 27 Ноя 2006 14:00


Андрей
Мне нужно просто закрыть определенному диапазону ip доступ, пусть обходят если смогут

acsid
Alfa Guru

2431
# Дата: 27 Ноя 2006 16:18 ° Поправил: acsid


самый простой вариант щас напишу сюдаа

добавлено :

 
//функция определения айпи, весьма хитрая 
function GetIp(){ 
    $hostname =(isset($_SERVER["HTTP_X_FORWARDED_FOR"]))?$_SERVER["HTTP_X_FORWAR 
    D ED_FOR"]:0; 
    if ($hostname==0){$hostname =(isset($_SERVER["REMOTE_ADDR"]))?$_SERVER["REMO 
TE_A DDR"]:0;} if(empty($_SERVER["REMOTE_ADDR"])){ $text="Ошибка ip адреса!"; die("$text"); } return $hostname; } $banned_ip="127.0.0.1"; //тут может быть один айпи,а может быть целая куча забан енных айпи с массиве array("127.0.0.1","127.0.0.2"); $curent_ip=GetIp();//достаём настоящай айпи зашедшего человека if($banned_ip==$curent_ip)die("Пощел вон кросавчег!");//проверяем на совместимос ть запрещённого айпи и текущего. Если совпали отрубаем. Если будешь использовать массив айпи адресов делай по примеру Силена , if(in_arr ay($curent_ip,$banned_ip))die("Пощел вон кросавчег!");



Надеюсь чтонибудь понял)) я старался... а нащет бан по айпи на html это ты жгёшь кросавчег

Андрей
Алексеевич

2123
# Дата: 27 Ноя 2006 16:29 ° Поправил: Андрей


acsid
Такой бан очень легко обойти.
В $_SERVER["HTTP_X_FORWARDED_FOR"] можно подставить что угодно.

acsid
Alfa Guru

2431
# Дата: 27 Ноя 2006 16:30 ° Поправил: acsid


а я и не спорю это самый простой вариант.\
Добавлено:
Это знаешь ты , это знаю я , но этого не знает тот кого забанили. Потому что он не видит исходника .А вобще эту строчку можно всегда потереть

Андрей
Алексеевич

2123
# Дата: 27 Ноя 2006 16:37 ° Поправил: Андрей


acsid
Я бы сказал так, нужно использовать простой вариант, как у тебя, только без $_SERVER["HTTP_X_FORWARDED_FOR"], а чисто по ip, ибо любой бан по ip можно преодолеть, и
незачем мучиться.

Можно пробывать написать подобие «супер-бана», но это никому, имхо, не нужно.

Михаил
Ушел в бан)

2572
# Дата: 27 Ноя 2006 23:49


Lythium
Ставь на коренную папку права 000, и ни один забанненый ИП не пройдет!

Roler
USA Hater

1340
# Дата: 28 Ноя 2006 01:37


Михаил
Отжог

Lythium
Участник

194
# Дата: 28 Ноя 2006 05:00


acsid
Вот что я получаю на страничке:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/shake/domains/i-neon.lv/public_html/script/index.php on line 2

Parse error: syntax error, unexpected T_FUNCTION in /home/shake/domains/i-neon.lv/public_html/script/index.php on line 4

Чё делать?

Андрей
Алексеевич

2123
# Дата: 28 Ноя 2006 06:28


Lythium
Это неправильно на форуме тег скрипт переносит строки, я уже писал смоллу, надо не <br /> делать, а картинку со стилем «clear:right», тогда в браузере перенос будет, а если скопировать — пропадёт.

Короче, удали все комментарии из кода, там не заккоментированная строка:
ть запрещённого айпи и текущего. Если совпали отрубаем.
И
ay($curent_ip,$banned_ip))die("Пощел вон кросавчег!");


Lythium
Участник

194
# Дата: 28 Ноя 2006 06:37


Андрей
Всё сделал как сказал, ошибка:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/ 
shake/domains/i-neon.lv/public_html/script/index.php on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/shake/do
mains/i-neon.lv/public_html/script/index.php on line 3 Parse error: syntax error, unexpected T_STRING in /home/shake/domains/i-neon.lv/
public_html/script/index.php on line 3


Рамиль
minibb moder

1152
# Дата: 28 Ноя 2006 06:59 ° Поправил: Рамиль


Lythium
А может тебе лучше через .хтаккесс банить?
order allow,deny 
deny from 123.45.6.7 
deny from 012.34.5. 
allow from all


можно так. хотя если тебе собщение об ошибке нужно...
ЗЫ. у меня так сделано:
// Функция определения ip-адреса. Возвращает ip-адрес 
function ip() { 
    $hostname =(isset($_SERVER["HTTP_X_FORWARDED_FOR"])) ? $_SERVER["HTTP_X_FORW 
ARDED_FOR"]:0; if ($hostname==0) { $hostname=(isset($_SERVER["REMOTE_ADDR"])) ? $_SERVER["REMOTE_ADDR"]:0; } if(empty($_SERVER["REMOTE_ADDR"])) { die("<center>Ошибка! IP адрес не неопределён!</center>"); } return $hostname; } if (!is_file($ramilCMS['base_root']."datas/banned.dat")) die ("Невозможно открыт
ь список забаненых ip-адресов!"); $banlist = file($ramilCMS['base_root']."datas/banned.dat"); for($i = 0; $i < count($banlist); $i++) { $banned = explode("|", $banlist[$i]); if ($banned[0] == ip()) { $module = "showerror"; $error = "banned"; } }

этот код тоже акцид давал. можешь ту тему поискать..

Lythium
Участник

194
# Дата: 28 Ноя 2006 07:22


Нихера не пашет
Скиньте норм пашущий код на: Lythium@i-neon.lv

Если конечно ничё не получится с php, то тогда придётся через хтаксес

Рамиль
minibb moder

1152
# Дата: 28 Ноя 2006 07:29


Lythium
весь код на http://forum.alfaspace.net/index.php?action=vthread&forum=6&topic=3678&page=0#4

SergeyA
Участник

502
# Дата: 28 Ноя 2006 09:36


Глянь это
Тоже самое но с картинкой
http://megamaster.info/forums.php?m=posts&p=1557#1557

Lythium
Участник

194
# Дата: 28 Ноя 2006 10:47


Огромное спасибо!
А как тогда заблочить диапазон айпи к примеру от:
61.31.0.0 до 61.31.255.255 ?

Рамиль
minibb moder

1152
# Дата: 28 Ноя 2006 13:06


Lythium
пиши всё в массив ну или напиши цикл:
for i=0; i < 255; i++ 
{ 
    $banned_ip .= "61.31.$i.$i"; 
} 

так вот примерно

acsid
Alfa Guru

2431
# Дата: 28 Ноя 2006 15:40


» Рамиль
пиши всё в массив ну или напиши цикл:
for i=0; i < 255; i++
{
$banned_ip .= "61.31.$i.$i";
}

ухты какой ужос

gl_SPICE
Участник

1757
# Дата: 28 Ноя 2006 16:12 ° Поправил: gl_SPICE


» acsid
ухты какой ужос

Блин, ну напиши человеку, как делать-то нужно , а то он уйдёт на другой форум .

» Lythium
А как тогда заблочить диапазон айпи к примеру от:
61.31.0.0 до 61.31.255.255 ?

Я тут особо не слежу, и в программинге не очень, но я бы лоченые IP писал бы так: 195.158.x.x, потом бы делил IP пользователя и IP в бан-листе по точкам, и сравнивал бы каждый разряд, и проверял бы: если в разряде стоит x — банить по-любому.
Ну это я так, чтобы тему поддержать, и чтобы весь диапазон в бан-лист не вписывать , это же маразм!

katrina
Участник

38
# Дата: 28 Ноя 2006 23:38 ° Поправил: katrina


А не проще сделать так:
<?php 
$ip = getenv ("REMOTE_ADDR"); 
$ip = str_replace(".",":",$ip); 
list($ip1,$ip2,$ip3,$ip4) = split(":",$ip); 
if(($ip1 == 61 && $ip2 == 31 && $ip3 >= 0 && $ip3 <= 255 && $ip4 >= 0 && $ip4 <= 
255)){ 
    include("bad.html"); //страница для забаненных 
} else { 
    include("main.html"); //страница для всех кому есть доступ 
} 
?>

Это файл index.php Кстати на многих моих сайтах пашет превосходно,и к тому же можно внести сколько угодно диапозонов.

Borman
Участник

1048
# Дата: 29 Ноя 2006 01:34 ° Поправил: Borman


 
<?php 
$rem_ip = $_SERVER["REMOTE_ADDR"]; 
$rem_ip = sprintf ("%u", ip2long ($rem_ip)); 
$block_beg_ip = "127.0.0.1"; 
$block_end_ip = "127.0.0.255"; 
$block_beg_ip = sprintf ("%u", ip2long ($block_beg_ip)); 
$block_end_ip = sprintf ("%u", ip2long ($block_end_ip)); 
if ($rem_ip >= $block_beg_ip AND $rem_ip <= $block_end_ip) echo "Доступ закрыт" 
; 
else  echo "Доступ разрешён"; 
?> 


Так покрасивее будет.

Borman
Участник

1048
# Дата: 29 Ноя 2006 02:34 ° Поправил: Borman


Извиняюсь за офф-топ... katrina, тебя случайно не ***** зовут?

katrina
Участник

38
# Дата: 29 Ноя 2006 03:02


А ещё можно так:
<?php 
$rem_ip = $_SERVER["REMOTE_ADDR"]; 
$ip = sprintf ("%u", ip2long ($rem_ip)); 
$file = "inet_ip.txt"; 
$fp = fopen ($file, "r"); 
while (!feof ($fp)) 
{ 
    $line = fgets ($fp, 256); 
    $arr = explode (":", $line); 
    if ($arr[0] <= $ip AND $arr[1] >= $ip) 
    { 
        header ("Location: bad.html"); // страничка для забаненных 
        fclose ($fp); 
        exit; 
    } 
} 
?> 
<?php 
header ("Location: main.html"); //страничка для всех кому доступ открыт 
?>

а вот файл inet_ip.txt
3641597952:3641602047 
3644854272:3644858367 
3651710976:3651715071 
2113929216:2130706434 
:

это диапазоны в айпилонг-формате....Сразу говорю что скрипты писала не я,мне помогали на другом форуме...теперь я пытаюсь помочь тому кто в этом нуждается

Borman
Участник

1048
# Дата: 29 Ноя 2006 03:05 ° Поправил: Borman


Знакомый скриптик... Ага, стало быть ты меня узнала. Зайди в личку на том форуме, на котором я писал тебе этот скрипт. Я там тебе масягу оставил.

katrina
Участник

38
# Дата: 29 Ноя 2006 03:19


» Borman
Ага, стало быть ты меня узнала.
Тебя грех не узнать...Ты видел как они тут мучаются с баном по айпи-диапазонам?Просто сердце разрывалось,ведь когда-то у меня такая проблема была...

Borman
Участник

1048
# Дата: 29 Ноя 2006 03:42


Можно будет потом ещё выложить скрипты закрытия по странам, провайдерам и зонам. То, что мы с тобой когда то обсуждали. Если это кому то интересно.

katrina
Участник

38
# Дата: 29 Ноя 2006 04:02


Попросят,выложим

. 1 . 2 . 3 . >>
Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:51123, gzipped size:13068

Mp3 Download || Webs Studio™ || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]