25.03.2009, 20:12
|
|
Код:
|
hrg.php?pzapros=brfhttp://www.google.com/searchque;hl=enamp;q=bmyybd+cacxve+++fi+ |
Вот php срабатывает из зашифрованного яваскрипта, при этом меняется ? на que; и & amp; Этого нет в явном виде в яваскрипте. Все зашифрованно(
А подскажите как проверить наличие ajax? для браузеров, которые я перечислил выше?
|
|
25.03.2009, 20:23
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от Александр 2009
|
А подскажите как проверить наличие ajax? для браузеров, которые я перечислил выше?
|
да как для любого другого.
пробуете создать объект xmlhttpreauest-а, и обрачиваете все это дело в try-catch
если программа вошла в самый внутренний catch, значит не удалось создать объект никаким из способов
это ж классический код, с которого начинается изучение Ajax
|
|
25.03.2009, 20:47
|
|
|
|
25.03.2009, 21:12
|
|
Спасибо) попробую!)
|
|
26.03.2009, 00:05
|
|
Вроде бы сделал) достаточно простой код, но пока еще не нашел ни одного браузера, где бы это не работало, может я в чем-то ошибся)?
<script language="javascript" type="text/javascript">
var request = false;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
else
{
request.open("GET", "/", true);
request.send(null);
document.write("Code="+request.readyState);
}
</script>
Последний раз редактировалось Андрей Параничев, 26.03.2009 в 00:08.
Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения
|
|
26.03.2009, 00:08
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
естественно вы не можете найти ни одного брузера, где бы этоит код не работал.
все основные браузеры давно уже поддерживают AJAX
можете попытатся найти где-нибудь в архивах чьих-нибудь первые версии нетскейпа к примеру.
или еще что-нибудь из древнего
|
|
26.03.2009, 00:10
|
|
Жаль исправить нельзя( code закрыть забыл.
Итак, как я понял если убрать request.send(null); то все время будет Code=1
|
|
26.03.2009, 00:11
|
|
|
Регистрация: 21.02.2008
Сообщений: 1,250
|
|
Gvozd,
А что такого невозможного в выполнении ботами поисковиков JavaScript? Его даже браузеры на мобильных выполняют, а ведь у гугла есть свой Chromium и отдельный JavaScript-движок. Парсить страницы не plain text'ом, а распарсеным HTML — не такая уж и невыполнимая задача.
Другой вопрос, что делать этого не станут, ведь слишком много динамических элементов страницы выполняют код в контексте текущего документа, что совершенно не интересует поисковика.
|
|
26.03.2009, 00:19
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Андрей Параничев,
ну, я и отталкивался от нецелесообразности по нагрузке.
хотя, прочтиав статью выше, полагаю, что исполнение JS-вполне может быть выборочным.например пропускать все действия с DOM-ом, не генерящих новых ссылок.ну, и еще всякого разного можно пропустить.
а впринципиальной возможности самой, я не сомневаюсь, ибо видел интепретатор для JS написанный на PHP(не проверял).
но вот целесообразность полного выполнения JS сомнительна.
PS если выполнение JS-а поисковиками не затрагивает DOM, то можно делать проверку путем различных манипуляций с DOM-ом.
к тому же ссылки можно по кускам склеивать например во временную тиекстовую ноду, и только после получения ссылки(поисковик ее не увидит, если не вполнит опреации с DOM-ом) сувать ее пользователю
|
|
26.03.2009, 00:41
|
|
Gvozd, Вы конечно про нецелесобразность правы! Именно поэтому сначала приходит бот, который просто скачивает html страницу, ее анализируют на сервере, и если страница оказалась подозрительной, то на нее уже приходит спец бот, и уже шмонает ее по полной! Спец бот может прийти и через месяц. Но сейчас компы стали такие мощные, что проверять сайты с большим PR можно и чаще, чем раз в месяц.
|
|
|
|