блокировка большого диапазона ip

Discussion in 'PHP' started by dondy, 5 Oct 2015.

  1. dondy

    dondy Member

    Joined:
    5 Jun 2015
    Messages:
    560
    Likes Received:
    61
    Reputations:
    5
    всем привет, столкнулся с проблемой блокировки большого диапазона ip адресов, с которых идут запросы, очень долго каждый по маске добавлять, обычно я здесь http://2ip.kz/ узнаю диапазон
    например ip 40.114.47.0 входит в диапазон 40.74.0.0 - 40.125.127.255
    сейчас приходится блокировать в htaccess

    deny from 40.74.
    deny from 40.75.
    deny from 40.76.
    deny from 40.77.
    deny from 40.78.
    deny from 40.79.
    deny from 40.80.
    deny from 40.81.
    deny from 40.82.
    deny from 40.83.
    deny from 40.84.
    deny from 40.85.
    deny from 40.86.
    deny from 40.87.
    deny from 40.88.
    deny from 40.89.
    deny from 40.90.
    deny from 40.91.
    deny from 40.92.
    deny from 40.93.
    deny from 40.94.
    deny from 40.95.
    deny from 40.96.
    deny from 40.97.
    deny from 40.98.
    deny from 40.99.
    deny from 40.100.
    deny from 40.101.
    deny from 40.102.
    deny from 40.103.
    deny from 40.104.
    deny from 40.105.
    deny from 40.106.
    deny from 40.107.
    deny from 40.108.
    deny from 40.109.
    deny from 40.110.
    deny from 40.111.
    deny from 40.112.
    deny from 40.113.
    deny from 40.114.
    deny from 40.115.
    deny from 40.116.
    deny from 40.117.
    deny from 40.118.
    deny from 40.119.
    deny from 40.120.
    deny from 40.121.
    deny from 40.122.
    deny from 40.123.
    deny from 40.124.
    deny from 40.125.

    помогите пожалуйста реализовать на php блокировку больших диапазонов? таких как этот много, и некоторые ещё больше
    например таким образом блокировать:
    40.74.0.0 - 40.125.127.255
    то есть с какого по какой блокирует
    это будет озночать то же, что я под спойлером разместил
    или есть лучше вариант чеб прописывать блок таким образом ? 40.74.0.0 - 40.125.127.255
     
  2. cheebeez

    cheebeez Member

    Joined:
    28 Feb 2010
    Messages:
    34
    Likes Received:
    43
    Reputations:
    1
    [DEL 58]
     
    #2 cheebeez, 5 Oct 2015
    Last edited: 25 Apr 2016
  3. Ch3ck

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

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    1.Отрицательные будут только на 32 разрядных ОС. На 64 нет. Попробуй ;)
    2. Есть еще вот такой калькулятор для удобства (для хтаксес), попробуй, удобно. Все, что ты написал выше, умещается в 5-6 строк.
    _http://ip2cidr.com/
     
    dondy likes this.
  4. dondy

    dondy Member

    Joined:
    5 Jun 2015
    Messages:
    560
    Likes Received:
    61
    Reputations:
    5
    Спасибо
    только не совсем понял, почему если я указываю диапазон

    с 95.24.0.0 по 95.30.0.0
    генерируется строки, где пропущены 95.25.0.0, 95.26.0.0 и 95.27.0.0

    deny from 95.24.0.0/14
    deny from 95.28.0.0/15
    deny from 95.30.0.0/32
    не понял как подхватываются отсутствующие Ip ... :(
     
  5. Ch3ck

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

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
  6. avin

    avin Member

    Joined:
    4 Jul 2011
    Messages:
    103
    Likes Received:
    41
    Reputations:
    2
    ТС почитай про маски подсети, все вопросы отпадут. У тебя в примере
    95.24.0.0/14 Это диапозон от 95.24.0.0 до 95.27.255.255

    Вот ссылка для расчетов
    http://jodies.de/ipcalc?host=192.168.0.1&mask1=14&mask2=
     
    dondy likes this.