XXL
Гость
|
|
« : 03-07-2010 18:56 » |
|
Ситуация вот какая... На локальном трекере, ну который у нас в локальной сети находится, админ решил денешек срубить, поставил рекламу в обмен за гигабайты аплоада... Вот код function PopShow() { CookieTest=navigator.cookieEnabled; if(CookieTest) { ClickUndercookie = GetCookie('clickunder'); if (ClickUndercookie == null) { var ExpDate = new Date (); ExpDate.setTime(ExpDate.getTime() + (24 * 60 * 60 * 1000)); SetCookie('clickunder','1',ExpDate, "/"); window.open("http://10.178.14.15/js/click.php?hash=46f6d&id=3&t=newtime","PopWin","resizable=1,toolbar=1,location=1,menubar=1,status=1,scrollbars=1'"); window.focus(); } } } function GetCookie (name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } function SetCookie (name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; var path = (argc > 3) ? argv[3] : null; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); } document.onmouseup=PopShow;
Прошу помочь составить регулярку для отлова строки httр://10.178.14.15/click.php?hash=46f6d&id=3&t=newtime, а то совсем прямо я измучился, смотрел примеры в сети, но ничего не выходит... Заранее огромное и человеческое спасибо за любую помощь!
|
|
« Последнее редактирование: 03-07-2010 19:05 от Алексей1153++ »
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #1 : 03-07-2010 21:56 » |
|
Зачем вообще тут регулярное выражение, если ищется константная строка?
Совершенно не понятно, чем собираешься искать и где. Т.ч. не вижу связи с Perl и перенес сюда.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
XXL
Гость
|
|
« Ответ #2 : 03-07-2010 22:22 » |
|
А регулярное выражение затем, чтобы эту строку из мусора кода захватить, вон я смотрел в других темах, там похоже...
Я имею ввиду, что строка не совсем константная, она меняется, меняется значение хеша в строке и т.п.
|
|
« Последнее редактирование: 03-07-2010 23:45 от RXL »
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #3 : 03-07-2010 23:47 » |
|
Вот тебе пример: "aaaaa bbbb ccccc". Разве для того, чтобы проверить, есть ли подстрока "bbbb", нужено регулярное выражение? Простой поиск и не более.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
XXL
Гость
|
|
« Ответ #4 : 04-07-2010 00:19 » |
|
Вот тебе пример: "aaaaa bbbb ccccc". Разве для того, чтобы проверить, есть ли подстрока "bbbb", нужено регулярное выражение? Простой поиск и не более.
А кодом нельзя помочь? Будьте так любезны, а то я что то не совсем соображаю, как все это выглядеть должно...
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #5 : 04-07-2010 06:51 » |
|
XXL, каким кодом? Ты ж ничего не говоришь...
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
XXL
Гость
|
|
« Ответ #6 : 04-07-2010 22:06 » |
|
Простите недоумка... #!/usr/bin/perl
use strict; use warnings;
my $t_string = " function PopShow() { CookieTest=navigator.cookieEnabled; if(CookieTest) { ClickUndercookie = GetCookie('clickunder'); if (ClickUndercookie == null) { var ExpDate = new Date (); ExpDate.setTime(ExpDate.getTime() + (24 * 60 * 60 * 1000)); SetCookie('clickunder','1',ExpDate, "/"); window.open("http://10.178.14.15/js/click.php?hash=46f6d&id=3&t=newtime","PopWin","resizable=1,toolbar=1,location=1,menubar=1,status=1,scrollbars=1'"); window.focus(); } } } function GetCookie (name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } function SetCookie (name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; var path = (argc > 3) ? argv[3] : null; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); } document.onmouseup=PopShow;";
if ($t_string =~ m/\d+\.\d+/) { print "Yes: $&\n"; } else { print "No.\n"; }
Вот как-то так планировал, шаблоном задать поиск строки http://10.178.14.15/js/click.php?hash=46f6d&id=3&t=newtime, а в качесвте константы использовать window.open
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #7 : 05-07-2010 03:30 » |
|
Эх-хе-хех... Ну, хорошо, я понял, что ты хочешь получить код на Perl. Свой код можешь сразу стереть - смысла в нем нет, а ошибок синтаксиса - гора. Давай пока разберемся, что надо найти. Тебе нужно найти именно эту строку или в ней есть переменные части? Какие части тут переменные? Опиши их подробнее.
|
|
« Последнее редактирование: 05-07-2010 03:47 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #9 : 05-07-2010 05:25 » |
|
Хеш из каких символов может состоять? На примере похоже на шестнадцатеричные цифры, но стоит уточнить.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
XXL
Гость
|
|
« Ответ #10 : 05-07-2010 16:16 » |
|
6c6c3f3328af8e769d37eecb681d8ec8 330d6f407ddd2b4890f9b1a5447c375f 99ce259016f2875341409c1f016e7740 ce78da7bb0887a08d24fba71c578b696
Вот какого вида может быть хэш...
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #11 : 06-07-2010 03:31 » |
|
Гуд. my $fd;
open $fd, '<links.txt' or die;
while (<$fd>) { next unless m%(http://10\.178\.14\.15/js/click\.php\?hash=[[:xdigit:]]{32}&id=3&t=newtime)%;
print "$1\n"; }
close $fd;
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
XXL
Гость
|
|
« Ответ #12 : 06-07-2010 04:30 » |
|
|
|
« Последнее редактирование: 06-07-2010 04:39 от XXL »
|
Записан
|
|
|
|
|