ФорумПрограммированиеPHP для идиотов → бан по ip

бан по ip

  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 9 октября 2010 г. 2:52, спустя 3 минуты 55 секунд


    file - вытаскивает все из файла в массив
    fopen - открывает фаил

    да


    $f = fopen(ban.txt,"r");
    $b = file("ban.txt")


    так?

    нет {+++35+++} прочитайте внимательнее что такое [man]file[/man] и посмотрите там примеры
    adw/0
  • Grever

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 9 октября 2010 г. 3:35, спустя 43 минуты 24 секунды

    посмотрел, вроде все как там
  • Troy

    Сообщения: 2533 Репутация: N Группа: Джедаи

    Spritz 9 октября 2010 г. 3:51, спустя 15 минут 29 секунд

     <?php
    $ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
    $bans = file(&quot;ban.txt&quot;);

    foreach ($bans AS $ban)
    if ($ban == $ip)
    die(&#39;Бан&#39;);
    else
    echo &#39;Нет бана&#39;;

  • kostyl

    Сообщения: 5201 Репутация: N Группа: Джедаи

    Spritz 9 октября 2010 г. 4:32, спустя 41 минуту 37 секунд

    только вот смысл банить прокси сервер? ))
  • Grever

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 9 октября 2010 г. 4:36, спустя 3 минуты 48 секунд


     <?php
    $ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
    $bans = file(&quot;ban.txt&quot;);

    foreach ($bans AS $ban)
    if ($ban == $ip)
    die(&#39;Бан&#39;);
    else
    echo &#39;Нет бана&#39;;




     <?php
    $ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
    $bans = file(&quot;ban.txt&quot;);

    foreach ($bans AS $ban)
    if ($ban == $ip)
    die(&#39;Бан&#39;);
    else
    echo &#39;Нет бана&#39;;




    он выводит 2 формы , как закрыть foreach если нету бана?
  • VaseninM

    Сообщения: 2417 Репутация: N Группа: Адекваты

    Spritz 9 октября 2010 г. 4:39, спустя 3 минуты 3 секунды

    Grever, ппц.
    <?php
    $ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
    $bans = file(&quot;ban.txt&quot;);
    foreach ($bans AS $ban) {
       if ($ban == $ip) {
           die(&#39;Бан&#39;);
        }
    }
    //твоя форма
  • Grever

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 9 октября 2010 г. 4:44, спустя 5 минут 4 секунды


    Grever, ппц.
    <?php
    $ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
    $bans = file(&quot;ban.txt&quot;);
    foreach ($bans AS $ban) {
       if ($ban == $ip) {
           die(&#39;Бан&#39;);
        }
    }
    //твоя форма



    вот не получается, он первый ip пропускает а второму ip пишет бан =\
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 9 октября 2010 г. 4:47, спустя 2 минуты 19 секунд

    замените

    foreach ($bans AS $ban) {


    на

    foreach ($bans AS $ban) {
    var_dump($ban, $ip); echo &quot;<br>\n&quot;;


    что выводится?
    adw/0
  • Grever

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 9 октября 2010 г. 4:50, спустя 3 минуты 36 секунд

    var_dump($ban, $ip); echo &quot;&lt;br>\n&quot;;

    string(11) &quot;10.3.5.61 &quot; string(11) &quot;10.67.221&quot; string(13) &quot;10.2.67.221 &quot; string(11) &quot;10.2.67.221&quot; string(11) &quot;10.6.128.23&quot; string(11) &quot;10.2.67.221&quot;
  • kostyl

    Сообщения: 5201 Репутация: N Группа: Джедаи

    Spritz 9 октября 2010 г. 5:10, спустя 20 минут 15 секунд

    Кстити возможно быстрее будет читать через fgets фиксивованно записанные изначально блоки и ипами, чем прочитать весь файл в массив, но я не уверен, хотя памяти сэкономиться немного
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 9 октября 2010 г. 5:13, спустя 2 минуты 18 секунд

    и вас &quot;забанило&quot;? я смотрю там ваш ип под вторым номером
    adw/0
  • arvitaly

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 9 октября 2010 г. 5:18, спустя 5 минут 7 секунд

    Кстити возможно быстрее будет читать через fgets фиксивованно записанные изначально блоки и ипами, чем прочитать весь файл в массив, но я не уверен, хотя памяти сэкономиться немного


    Быстрее будет засунуть в базу и хранить как UInt + индекс (ip + ban) и select count(*)

    и вас &quot;забанило&quot;? я смотрю там ваш ип под вторым номером


    А как он теперь сможет править код - если его забанило
  • kostyl

    Сообщения: 5201 Репутация: N Группа: Джедаи

    Spritz 9 октября 2010 г. 5:28, спустя 10 минут 32 секунды

    Быстрее будет засунуть в базу и хранить как UInt + индекс (ip + ban) и select count(*)

    неужели?
  • arvitaly

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 9 октября 2010 г. 5:31, спустя 2 минуты 19 секунд

    неужели?


    я хз нашел в гугле скопировал вставил, не то?
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 9 октября 2010 г. 5:34, спустя 2 минуты 53 секунды

    arvitaly, нравишься ты мне своим чувством юмора :)
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!