1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

[Знатки php сюда] Редикет

Тема в разделе "Оффтопик", создана пользователем Kela-4D, 9 ноя 2014.

  1. danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Я был бы рад небольшому пожертвованию на один из моих кошельков )
     
    Последнее редактирование: 17 окт 2019
  2. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    Сделано на R759289697480
     
  3. danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Пришло, спасибо )
     
  4. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    всё доперло
    PHP:
    <?
    $delay "1.5";
    $bads = array("test.su","www.rubukkit.org");
    $q $_SERVER['QUERY_STRING'];
    if (empty(
    $q)) die;
    foreach(
    $bads as $bad){
       if(
    preg_match("/{$bad}/i"$bad)) header"Refresh:{$delay}; url={$q}"true303); exit;
    }
    Пробуй, работает 100%. С доменами и прочим.
     
  5. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    Чем твой код лучше того который сверху(Скажи)
     
  6. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    У того лалки
    Тебе
    *rubukkit.org
    www.rubukkit.org
    http://www.rubukkit.org
    ВСЕ ЭТИ ПРИЙДЕТСЯ ДОБАВЛЯТЬ В МАССИВ

    а у меня достаточно rubukkit.org - он проверит ВСЕ ВОЗМОЖНЫЕ ПОДБОРКИ, ВПЛОТЬ ДО
    ssssrubukkit.org
     
  7. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    пустая страница и через 2с перенаправляет на сайт(который заблокирован)
     
  8. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    Короче ты зря ему заплатил.
    Он мудка и лах.
    Мне ниче не надо.
     
  9. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    я и тебе заплачу!
    пустая страница и через 2с перенаправляет на сайт(который заблокирован)
     
  10. danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Не знаю кто ещё из нас мудка, ты зачем ищешь каждый bad в массиве bads ? :)
    if(preg_match("/{$bad}/i", $bad))
    И зачем делать задержку редиректа ?(Надо было организовать надпись, что на тот сайт нельзя и на JS делать таймер, после которого идет редирект на главную)
     
  11. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    Каждый бэд зачем ищу?)))
    Ты глупый, или что-то??)))
    Понимаешь, preg_match работает только с одной строкой, а у нас, к сожалению, их N.
    Поэтому, понимаешь пока, да? - поэтому я использовал цикл.
    А задержка редиректа...
    А зачем у него был sleep() ? Я и заменил его.
     
  12. danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Ты тупой или притворяешься ?
    Ты с помощью preg_match сравниваешь $bad и $bad, я же не просто так вставил кусок твоего кода.
    sleep() был для задержки, но автрор же не такой гений в пыхе как ты и не знал, что задержка не та будет.
     
  13. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    <?php

    $bad = array("www..su",".su","www.sand-craft.ru","sand-craft.ru");//домены плохих сайтов
    sleep(1);
    if (empty($_SERVER['QUERY_STRING'])){exit;}

    $re_addr=parse_url($_SERVER['QUERY_STRING'],PHP_URL_HOST);

    if(array_search($re_addr,$bad)===false){header('Location: '.$_SERVER['QUERY_STRING']);}

    else{echo "<center>Переход на этот сайт заблокирован!"; echo "<meta http-equiv='refresh' content='3; /' />";}//что вывести, если в списке
     
  14. TAB_mk

    TAB_mk Старожил Пользователь

    Баллы:
    173
    [Знатки php сюда] Редикет
    ммм... исправил говоришь
     
  15. danilko

    danilko Старожил Пользователь

    Баллы:
    103
    <?php
    $bad = array("www..su",".su","www.sand-craft.ru","sand-craft.ru");//домены плохих сайтов
    sleep(1);
    if (empty($_SERVER['QUERY_STRING'])){exit;}
    $re_addr=parse_url($_SERVER['QUERY_STRING'],PHP_URL_HOST);
    if(array_search($re_addr,$bad)===false){header('Location: '.$_SERVER['QUERY_STRING']);}
    else{?>
    <html>
    <body>
    <script>
    setTimeout("window.location = page;",10000);
    </script>
    <center>Переход на этот сайт заблокирован!<br/>Переход на главную через 10 секунд</center>
    </body>
    </html>
    <?php
    }//что вывести, если в списке
     
  16. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    А чем вверху хуже?
     
  17. danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Мой вариант более гибкий, но менее удобный.
    Если тебе надо заблокировать все ссылки в url которых присутствует одно из запрещенных слов, то тебе надо использовать немного поправленый вариант блогера, если же тебе надо заблокировать все ссылки на сайты только с определенным доменом, то используй мой вариант. (Мой вариант хуже тем, что не блокируются поддомены, вроде www)
     
  18. Автор темы
    Kela-4D

    Kela-4D Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Kelatyh
    БЛ* про*балс*, запутался полность...
    Скинь рабочие скрипты!
    Твой и его
     
  19. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    А надо как?))
    Что написать надо?))
    Я НЕ СРАВНИВАЮ НИЧЕГО, Я ПРОВЕРЯЮ НАЛИЧИЕ
    {$q} (ПОДСТРОКИ) В СТРОКЕ {$bad}
    Вот я ошибся, понял.
    Вот 100% скрипт, мой плюс его:
    PHP:
    <?php
    $delay 
    "10";//через сколько секунд перейти на главную страницу
    $bads = array("test.su","www.rubukkit.org");//плохие сайты))
    $q $_SERVER['QUERY_STRING'];
    if (empty(
    $q)) die;
    foreach(
    $bads as $bad){
       if(
    preg_match("/{$bad}/i"$q)){
         echo 
    '<html>
    <body>
    <script>
    setTimeout(function(){window.location.href = "/"}, '
    .$delay*1000.');
    </script>
    <center>Переход на этот сайт заблокирован!<br/>Переход на главную через '
    .$delay.' секунд!</center>
    </body>
    </html>'
    ;
        break;
    //да-да! ломаю цикл!
       
    }
    }
    100% рабочий и лучший скрипт.
    Лайк за лучший мне.
    Короче, пример работы:
    С test.su, если $delay = 10:
    Переход на этот сайт заблокирован!
    Переход на главную через 10 секунд!
    И собствена через 10 секунд перекидывает в корень.
     
  20. danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Наконец-то ты понял про что я тебе писал. Еще и мою часть скопипастил, ну ладно, я не обижаюсь )
    А вообще цикл с preg_match работает гораздо медленнее обычного поиска в масиве. (Ну, это тебе так, на будущее.)
     

Поделиться этой страницей