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

Discussion in 'PHP' started by mff, 6 Feb 2010.

  1. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Подскажите пожалуйста, как грамотно сделать блокировку по ip адресу, на своём сайте?

    Спасибо!
     
  2. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Если для одного ип,то в принципе
    PHP:
    if($_SERVER['REMOTE_ADDR'] == '255.255.255.255')
    {
    echo 
    'Bye Bye';
    }
    else
    {
    весь сайт
    }
    А если для кучи,то с базой сделать и все,как в скрипте логина
     
  3. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Я так примерно себе и представлял этот скрипт, но насколько он будет эффективен?
     
  4. emillord

    emillord Elder - Старейшина

    Joined:
    20 Jan 2008
    Messages:
    257
    Likes Received:
    443
    Reputations:
    255
    От нубов защитит, но тут проблема, если IP динамический вы забаните потенциально возможного пользователя.


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

    pps лично у меня стоит такой простенький код
    PHP:
    <?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>'
    );
    }
    ?>
     
    2 people like this.
  5. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    emillord да, но я вот смотрю, что чел, которого я хочу убрать, заходит с одного ипа всё время. :)
     
  6. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    Ну теперь он будет заходить с прокси.
     
    _________________________
  7. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    вот и пускай прокси юзает! Хоть что то :)
     
  8. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    в .htaccess

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

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

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    mff
    Он эффективен тогда,когда юзер не умеет использовать прокси и у него статический айпишник
    А вариант emillord это почти то,что я подразумевал под вторым вариантом
     
  10. (Dm)

    (Dm) Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    261
    Likes Received:
    440
    Reputations:
    275
    Быдло код детектед.
     
    1 person likes this.
  11. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Чтот нихрена чтацесс не пашет :( Вбил свой ип и захожу на сайт свободно :(

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

    TRX.new Member

    Joined:
    27 Apr 2009
    Messages:
    151
    Likes Received:
    21
    Reputations:
    0
    Может быть еще передавать какой-нить параметр в кукисах.. И проверять по условию на IP, если баним IP, то куки остаются --> даже прокси не поможет, если же заходят с забанненого IP, но куков нет, то создаем и разбаниваем IP.. ну тож не сильно по-умному, но мне кажется можно поколдовать...
     
  13. GlooK

    GlooK Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    В httpd.conf замени:
    AllowOverride None
    на
    AllowOverride All
     
  14. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    GlooK, как же я заменю на хостинге его?
     
  15. acdel

    acdel Elder - Старейшина

    Joined:
    7 Jan 2008
    Messages:
    132
    Likes Received:
    57
    Reputations:
    3
    Так правильно

    .htaccess

    PHP:
    Order deny,allow
    Deny from all
    Allow from 123.123.123.123 
    .HTACCESS Banning Generator в помощь

    tools.dynamicdrive.com/userban/

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