PDA

Просмотр полной версии : Блокировка по ip адресу на сайте


mff
06.02.2010, 01:00
Подскажите пожалуйста, как грамотно сделать блокировку по ip адресу, на своём сайте?

Спасибо!

qW1zer
06.02.2010, 01:14
Если для одного ип,то в принципе

if($_SERVER['REMOTE_ADDR'] == '255.255.255.255')
{
echo 'Bye Bye';
}
else
{
весь сайт
}

А если для кучи,то с базой сделать и все,как в скрипте логина

mff
06.02.2010, 01:35
Если для одного ип,то в принципе

if($_SERVER['REMOTE_ADDR'] == '255.255.255.255')
{
echo 'Bye Bye';
}
else
{
весь сайт
}

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

emillord
06.02.2010, 01:45
Я так примерно себе и представлял этот скрипт, но насколько он будет эффективен?
От нубов защитит, но тут проблема, если IP динамический вы забаните потенциально возможного пользователя.


p/s Можно банить аккаунт.

pps лично у меня стоит такой простенький код
<?php
$ipp = $_SERVER['REMOTE_ADDR'];

include_once('connect.php');

$connect =@mysql_connect($host,$user,$pass);
mysql_select_db($dbname,$connect);
$sqll="SELECT * FROM `ban` WHERE banip='$ipp' ";
@$resultt=mysql_query($sqll);
@$rowss=mysql_num_rows($resultt);

for ($ii=0;$ii<$rowss;$ii++){
mysql_data_seek($resultt,$ii);
@$guestt=mysql_fetch_array($resultt);

die ('<b><h3><center>Вам запрещен доступ к этой странице.<br>
Для разрешения доступа пишите на форум</center></h3></b>');
}
?>

mff
06.02.2010, 01:47
emillord да, но я вот смотрю, что чел, которого я хочу убрать, заходит с одного ипа всё время. :)

b3
06.02.2010, 05:56
emillord да, но я вот смотрю, что чел, которого я хочу убрать, заходит с одного ипа всё время. :)
Ну теперь он будет заходить с прокси.

mff
06.02.2010, 06:56
Ну теперь он будет заходить с прокси.вот и пускай прокси юзает! Хоть что то :)

-=Zhenek=-
06.02.2010, 10:03
в .htaccess

<Limit GET>
Order Deny,Allow
Deny from 12.345.678.90
Allow from all
</Limit>

и все) Тут можно и диапазон и целого провайдера заблочить.
Им тогда даже доступ к файлам дан не будет.

qW1zer
06.02.2010, 10:50
mff
Он эффективен тогда,когда юзер не умеет использовать прокси и у него статический айпишник
А вариант emillord это почти то,что я подразумевал под вторым вариантом

(Dm)
06.02.2010, 10:58
pps лично у меня стоит такой простенький код
<?php
$ipp = $_SERVER['REMOTE_ADDR'];

include_once('connect.php');

$connect =@mysql_connect($host,$user,$pass);
mysql_select_db($dbname,$connect);
$sqll="SELECT * FROM `ban` WHERE banip='$ipp' ";
@$resultt=mysql_query($sqll);
@$rowss=mysql_num_rows($resultt);

for ($ii=0;$ii<$rowss;$ii++){
mysql_data_seek($resultt,$ii);
@$guestt=mysql_fetch_array($resultt);

die ('<b><h3><center>Вам запрещен доступ к этой странице.<br>
Для разрешения доступа пишите на форум</center></h3></b>');
}
?>
Быдло код детектед.

mff
07.02.2010, 00:00
в .htaccess

<Limit GET>
Order Deny,Allow
Deny from 12.345.678.90
Allow from all
</Limit>

и все) Тут можно и диапазон и целого провайдера заблочить.
Им тогда даже доступ к файлам дан не будет.
Чтот нихрена чтацесс не пашет :( Вбил свой ип и захожу на сайт свободно :(

(Dm), что посоветуешь? :confused:

TRX.new
07.02.2010, 00:03
Может быть еще передавать какой-нить параметр в кукисах.. И проверять по условию на IP, если баним IP, то куки остаются --> даже прокси не поможет, если же заходят с забанненого IP, но куков нет, то создаем и разбаниваем IP.. ну тож не сильно по-умному, но мне кажется можно поколдовать...

GlooK
07.02.2010, 00:03
Чтот нихрена чтацесс не пашет :( Вбил свой ип и захожу на сайт свободно :(

(Dm), что посоветуешь? :confused:
В httpd.conf замени:
AllowOverride None
на
AllowOverride All

mff
07.02.2010, 00:07
GlooK, как же я заменю на хостинге его?

acdel
07.02.2010, 02:25
Чтот нихрена чтацесс не пашет :( Вбил свой ип и захожу на сайт свободно :(


Так правильно

.htaccess


Order deny,allow
Deny from all
Allow from 123.123.123.123


.HTACCESS Banning Generator в помощь

tools.dynamicdrive.com/userban/

Если стоит CPanel, то с нее можно лочить по ip.