1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. mr.Slink
  2. mr.Slink
  3. mr.Slink
  4. mr.Slink
  5. mr.Slink
  6. mr.Slink
  7. mr.Slink
    Сообщения профиля

    ??? ??? Slink

    ??? ??? Slink
    Сообщение в профиле пользователя ASTREL от mr.Slink, 12 июл 2010
  8. mr.Slink
  9. mr.Slink
  10. mr.Slink
  11. mr.Slink
  12. mr.Slink
  13. mr.Slink
  14. mr.Slink
  15. mr.Slink
  16. mr.Slink
    Данный скрипт отсечёт мне кажется всех ботов function cheked_proxy(){ if($_SERVER['HTTP_X_FORWARDED_FOR']!=""){die("<div class='warning'>Вы используете proxy server, это недопустимо, сожалеем но это наше требование</div>");} if($_SERVER['HTTP_CLIENT_IP']!="" and $_SERVER['REMOTE_ADDR']!=$_SERVER['HTTP_CLIENT_IP']){die("<div class='warning'>Вы используете proxy server, это недопустимо, сожалеем но это наше требование</div>");} } //ЧЕК БОТ КРЭЗИ РЕЖИМ// function checked_bot_crazy(){ if($_SERVER['HTTP_USER_AGENT']==""){die("<div class='warning'>Ваш броузер не определён, сожалеем но это наше требование</div>");} $coockiename1=md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_ACCEPT'].$_SERVER['HTTP_USER_AGENT']."78eryher78h768erher87h77er8herh7her7h"); $coockiename2=md5($_SERVER['HTTP_USER_AGENT'].$_SERVER['HTTP_ACCEPT'].$_SERVER['REMOTE_ADDR']."re8h7er89h67erh6er8her8h6erhye9gyreyg"); if (strpos(file_get_contents("logs/site_users/hashcoockie"), $coockiename1)) {}else{ if (strpos(file_get_contents("logs/site_users/hashcoockie"), $coockiename2)) {}else{ $hashcoockie = @fopen("logs/site_users/hashcoockie","a+"); $D = "$coockiename1 | $coockiename2\r\n"; fwrite($hashcoockie,$D); fclose($hashcoockie); }} echo " <!-- проверка есть ли у цели разрешение экрана --> <script type='text/javascript'> function setCooc (){document.cookie = '".$coockiename1."=' + screen.availWidth; document.cookie = '".$coockiename2."=' + screen.availHeight; }var Scrnonload = window.onload; window.onload = function () { if(Scrnonload) Scrnonload(); setCooc(); }</script> <!-- проверка есть ли у цели разрешение экрана --> "; $width = $_COOKIE[$coockiename1];$height = $_COOKIE[$coockiename2]; if($width=="" or $height==""){ if($_SERVER['HTTP_REFERRER']=="/" or $_SERVER['HTTP_REFERRER']=="index.php"){ die("<div class='warning'>Ваш броузер не поддерживает JavaScript либо выключены Coockie, сожалеем но это наше требование1</div>");}else{die("<meta http-equiv='Refresh' content='0;URL=index.php'>");} } $coockiename1=md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_ACCEPT'].$_SERVER['HTTP_USER_AGENT']."78eryher78h768erher87h77er8herh7her7h"); $coockiename2=md5($_SERVER['HTTP_USER_AGENT'].$_SERVER['HTTP_ACCEPT'].$_SERVER['REMOTE_ADDR']."re8h7er89h67erh6er8her8h6erhye9gyreyg"); if (strpos(file_get_contents("logs/site_users/hashcoockie"), $coockiename1)) {}else{die("<div class='warning'>Ваш броузер не поддерживает JavaScript либо выключены Coockie, сожалеем но это наше требование</div>2");} if (strpos(file_get_contents("logs/site_users/hashcoockie"), $coockiename2)) {}else{die("<div class='warning'>Ваш броузер не поддерживает JavaScript либо выключены Coockie, сожалеем но это наше требование</div>3");} } //ЧЕК БОТ НОРМАЛ РЕЖИМ// function cheked_bot_normal(){ if($_SERVER['HTTP_USER_AGENT']==""){die("<div class='warning'>Ваш броузер не определён, сожалеем но это наше требование</div>");} $ip = $_SERVER['HTTP_CLIENT_IP'];if($ip==""){$ip=$_SERVER['REMOTE_ADDR'];} $counter = $ip; setcookie("botchaltestbot",$counter); if($_COOKIE['botchaltestbot']!=$ip){ if($_SERVER['HTTP_REFERRER']=="/" or $_SERVER['HTTP_REFERRER']=="index.php"){ die("<div class='warning'>Ваш броузер не определён либо у вас отключены Coockie, сожалеем но это наше требование</div>");}else{die("<meta http-equiv='Refresh' content='0;URL=index.php'>");} }} //ЧЕК РАЗМЕР ЗАГОЛОВКОВ// function checked_size_http_header(){ $maxheadersize="300"; if(strlen($_SERVER['HTTP_USER_AGENT']) > $maxheadersize or strlen($_SERVER['HTTP_REFERRER']) > $maxheadersize or strlen($_SERVER['HTTP_ACCEPT'])  > $maxheadersize or strlen($_SERVER['CONTENT_LENGTH']) > $maxheadersize or strlen($_SERVER['HTTP_COOKIE']) > $maxheadersize){die("<div class='warning'>Ответы вашего броузера серверу слишком длинные, сожалеем но это наше требование</div>");} } //РАЗМЕР ПОСТ И ГЕТ// function cheked_size_post_and_get(){ $maxPOSTsize="200"; $maxGETsize="100"; foreach($_POST as $val)if(strlen($val)>$maxPOSTsize){die("<div class='warning'>Ответы вашего броузера серверу слишком длинные, сожалеем но это наше требование</div>");}; foreach($_GET as $val)if(strlen($val)>$maxGETsize){die("<div class='warning'>Ответы вашего броузера серверу слишком длинные, сожалеем но это наше требование</div>");}; } Писал всё руками, если что-то не робит, отписывайтесь!!! Начнём по порядку: 1 функция function cheked_proxy() делает простую проверку на использование прокси 2 функция function checked_bot_crazy() - на мой взгляд самая крутая! что она делает: 1) Генерирует названия куки основываясь на HTTP заголовках клиента и отправляет их ему, название кукисов сгенерированно а их содержание это разрешение экрана которое берётся из яваскрипта(у ботов ведь нету разрешения, а написать бот который понимает js это целове дело) потом записывает имена куки в файл в дериктории logs/site_users/hashcoockie (hashcoockie это сам файл) далее если куки на клиенте найдены то снова генерирует название основываясь на хеадерах и сравнивает с тем что есть в базе, если всё впорядке то пропускает юзера дальше, если нет то умирает. Этим мы отсеиваем как я и сказал ботов. Даже если хакер подсунет из броузера куки то они не совпадут с генерируемым названием куки, так как у бота и броузера заголовки разные, как вы уже заметили в скрипте берутся такие вещи как $_SERVER['REMOTE_ADDR'] $_SERVER['HTTP_USER_AGENT'] и самое главное что никто никогда в ботах не высталяет это $_SERVER['HTTP_ACCEPT'] (какие файлы броузер понимает) Единственный возможный обход это полностью эдентичные заголовки в боте и броузере, но до этого злоумышленнику надо ещё догадаться!) И ещё 1 минус... про яндекс на сайте можно забыть(он же тоже бот...) Так следующая функция простой чек бота - cheked_bot_normal() посылает куки, редиректит и принимает куки, если всё ок то пропускает дальше Следующая довольно важная функция это checked_size_http_header() чекает заголовки на их размер, если размер превышает $maxheadersize то умирает cheked_size_post_and_get() тоже самое, проверяет велечину всех гет и пост запросов На страницу сайта вставляем так: include "файл с этими функциями"; И если надо активировать какую либо функцию то пишите в вашем файле index.php cheked_size_post_and_get(); название функции(это для тех кто синтаксис не знает  :lol: ) P.S. Мне тоже иногда плюсики нужны  :lol: P.P.S. Это кстати маленький отрывок PMW 1.5 думаю представляете будущий авторитет этого проекта скачать http://depositfiles....files/cp0tk3wtb А какже гугль янексъ, у них нет разрешения и куки они не берут :D
    Сообщение от: mr.Slink, 21 июн 2010 в разделе: PHP
  17. mr.Slink
  18. mr.Slink
  19. mr.Slink
  20. mr.Slink