Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Определение количества плагинов (https://javascript.ru/forum/misc/3181-opredelenie-kolichestva-plaginov.html)

Александр 2009 25.03.2009 20:12

Код:

hrg.php?pzapros=brfhttp://www.google.com/searchque;hl=enamp;q=bmyybd+cacxve+++fi+
Вот php срабатывает из зашифрованного яваскрипта, при этом меняется ? на que; и & amp; Этого нет в явном виде в яваскрипте. Все зашифрованно(

А подскажите как проверить наличие ajax? для браузеров, которые я перечислил выше?

Gvozd 25.03.2009 20:23

Цитата:

Сообщение от Александр 2009
А подскажите как проверить наличие ajax? для браузеров, которые я перечислил выше?

да как для любого другого.
пробуете создать объект xmlhttpreauest-а, и обрачиваете все это дело в try-catch
если программа вошла в самый внутренний catch, значит не удалось создать объект никаким из способов
это ж классический код, с которого начинается изучение Ajax

Гость 25.03.2009 20:47

http://habrahabr.ru/blogs/searchengines/30735/
http://googlewebmastercentral.blogsp...tml-forms.html
http://unmaskparasites.com/security-...-hidden-links/

Александр 2009 25.03.2009 21:12

Спасибо) попробую!)

Александр 2009 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>

Gvozd 26.03.2009 00:08

естественно вы не можете найти ни одного брузера, где бы этоит код не работал.
все основные браузеры давно уже поддерживают AJAX
можете попытатся найти где-нибудь в архивах чьих-нибудь первые версии нетскейпа к примеру.
или еще что-нибудь из древнего

Александр 4 26.03.2009 00:10

Жаль исправить нельзя( code закрыть забыл.
Итак, как я понял если убрать request.send(null); то все время будет Code=1

Андрей Параничев 26.03.2009 00:11

Gvozd,
А что такого невозможного в выполнении ботами поисковиков JavaScript? Его даже браузеры на мобильных выполняют, а ведь у гугла есть свой Chromium и отдельный JavaScript-движок. Парсить страницы не plain text'ом, а распарсеным HTML — не такая уж и невыполнимая задача.

Другой вопрос, что делать этого не станут, ведь слишком много динамических элементов страницы выполняют код в контексте текущего документа, что совершенно не интересует поисковика.

Gvozd 26.03.2009 00:19

Андрей Параничев,
ну, я и отталкивался от нецелесообразности по нагрузке.
хотя, прочтиав статью выше, полагаю, что исполнение JS-вполне может быть выборочным.например пропускать все действия с DOM-ом, не генерящих новых ссылок.ну, и еще всякого разного можно пропустить.
а впринципиальной возможности самой, я не сомневаюсь, ибо видел интепретатор для JS написанный на PHP(не проверял).
но вот целесообразность полного выполнения JS сомнительна.
PS если выполнение JS-а поисковиками не затрагивает DOM, то можно делать проверку путем различных манипуляций с DOM-ом.
к тому же ссылки можно по кускам склеивать например во временную тиекстовую ноду, и только после получения ссылки(поисковик ее не увидит, если не вполнит опреации с DOM-ом) сувать ее пользователю

Александр 2009 26.03.2009 00:41

Gvozd, Вы конечно про нецелесобразность правы! Именно поэтому сначала приходит бот, который просто скачивает html страницу, ее анализируют на сервере, и если страница оказалась подозрительной, то на нее уже приходит спец бот, и уже шмонает ее по полной! Спец бот может прийти и через месяц. Но сейчас компы стали такие мощные, что проверять сайты с большим PR можно и чаще, чем раз в месяц.


Часовой пояс GMT +3, время: 14:23.