Мастерхост – уроды…

Сегодня от 6 утра получил более 2000 писем от скрипта заказа магазина. Пустых заказов. разумеется, с попытками взлома.
Я помнил о том, что они предлагали проверку скриптов сканером XSpider компании Positive Technologies, даже письмецо прислали:

SUBJECT: Новая бесплатная услуга от Мастерхост

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

Тестирование производится самым интеллектуальным в мире сканером XSpider компании Positive Technologies.

Пресс-релиз о сотрудничестве: http://masterhost.ru/press/release/20041018/.

В случае обнаружения каких-либо уязвимостей в программном обеспечении ваших проектов, вы получите письмо-уведомление, в котором будут перечислены все найденные уязвимости и рекомендации Positive Technologies по их ликвидации.

Тестирование производится со специально установленных серверов на площадке .masterhost без какого-либо внутреннего проникновения на тестируемые сайты.

XSpider производит попытки взлома, осуществляет всевозможные атаки, SQL-инъекции, подбирает пароли и производит другие действия, присущие интернет-злоумышленникам. При этом сканер не наносит какого-либо вреда вашим интернет-проектам, даже если ему удается получить полный контроль над сайтом, но вы можете обнаружить следы его работы в логах, сообщениях о неудачных попытках проникнуть на сайт и в других сообщениях ПО вашего сайта или поддерживающих систем .masterhost.

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

Ничего себе бесплатная услуга! Звоню им. Говорю – я эту х##ню НЕ ЗАКАЗЫВАЛ!!! Какого хрена оно нарушает работу мою и магазина???
Говорят – а вот мы вам письмо слали. Вы могли ведь и отказаться.
Я говорю – что за х…, я НЕ ЗАКАЗЫВАЛ ЭТО!!!
Говорят – по умолчанию условием нашего хостинга (НЕ ЧИТАЛ Я ТАКИХ УСЛОВИЙ НИГДЕ!!!) является то, что этот сканер включен.
***
Ну не уроды, а? Нет, неужели где-то в этом письме написано, что по умолчанию все обязаны тестироваться??? Нормальный человек может понять, что эта “бесплатная услуга” – обязательна?!!

Подсчет числа ссылок на странице

Очередная ссылка для перетаскивания на панель ссылок Links. При клике в алерте показывается общее число ссылок на данной странице, число яваскриптовых и нормальных: links

То же самое, но отдельно показывается число внутренних и внешних ссылок: links2 (у меня из панели опять не работает…)
Кстати, ссылки, напечатанные из яваскрипта как document.write(“< a href....< /a >“) (в частности, счетчики) оно принимает за нормальные ссылки.

Показ частот слов в документе

Написал “ссылки” для показа частот слов в документе (самые частотные слова). Ссылку надо перетащить на Links панель и “согласиться”. При клике оно покажет в алерте частоты в % с двумя знаками. При клике не происходит никаких обращений к внешним серверам.
Почему-то у меня не все варианты работают из панели ссылок. Не могу понять почему. Из документа все работают нормально.
Тип первый – частоты всех слов до 1/4 частоты самого частотного слова: lim) {out+=i+’ = ‘+Math.round(10000*nums[i]/arr.length)/100+’% (‘+nums[i]+’)\r\n’; };}; alert(out); void(0)”>%l
Тип второй – то же, что и первый, но 10 наиболее частотных слов с упорядочением по убыванию (не работает из панели): %0
То же, но для слов из 3 и более символов (не работает): %0l
Может, кто протестирует у себя? А то вдруг у меня MSIE кривой. Причем сообщений об ошибках JS нету!
Гринвуд, ликуй – называется. 🙂

Я делаю сабмиттер в каталоги. И скоро открою!

Типа ура и наконец-то.
История такая. Захотел я сделать сабмиттер в каталоги, который бы подставлял данные юзера в форму. И собирал бы потихоньку данные для будущего автосабмита (какие имена какой смсыл имеют, и какие есть категории).
И сделал его на perl в виде “прокладки” между человеком и сайтом каталога.
Но тут возникли сложности:
Во-первых, хтмл код люди пишут ну настолько косо, что даже человек не поймет. Даже иногда имена переменных не пишут!
Во-вторых, большая проблема была – надо переколбасить все ссылки так, чтобы они указывали на нужные страницы “через меня”.
В-третьих, почему-то скрипт не хотел иногда заполнять поля и даже глотал непредсказуемым образом куски кода… Думал-думал, не придумал.
В-четвертых, сабмит с одного IP – потенциально могут отрубить.
Короче, выложил его на http://submitter.promosite.ru/ Регистрироваться (и тем более платить) не надо, смотрите демки.
Но вот возникли более правильные мысли. Делать разбор полей яваскриптом и отказаться от идеи “серверной прокладки”. И вот, о чудо! Все работает.
Почти.
Короче, недельки через 2 сделаю все полностью. И на некоторое время (пару месяцев) открою в свободный полнофункциональный доступ – базу-то надо обучить… 🙂
Может, есть мнения, -сколько может вся эта радость стоить в денежном выражении по по уму. И на сколько месяцев ее стоит открыть на начальный период.

Perl модуль WWW::Google::PageRank

Человек Yuri Karaban сделал perl-модуль для определения Google PageRank.
Поиском на search.cpan.org находится вариант модуля – кажется, этот.

$HTTP_HOST у некоторых…

Никогда не копался в настройках PHP. И надеюсь, не придется.

Оказывается, на некоторых хостингах (Зеноне и еще каком-то) $HTTP_HOST не содержит www в любом случае. Как же редиректить тогда на “правильный” хост? Плохо.

Также оказывается, что на некоторых хостингах в статусе HTTP-ответа сервер отрезает все слова, оставляет только цифирки.

Собственно, плохо от этого не мне, а Alex’у Kirillin’у…

If-Modified-Since и хостинг

Замечаю, что многие беспокоятся о быстрой переиндексации сайта Яндексом и подыскивают себе хостинг, который “не режет” заголовок If-Modified-Since.
Ну, раньше мне сайтов с таким огромным количеством страниц не попадалось, но… зачем переезжать-то? Неужели анализировать заголовки в скрипте не проще?
Скажем, с помощью сервиса http://seolab.ru/add/header.htm делаем запрос с этим заголовком, в переменных окружения видим:

HTTP_IF_MODIFIED_SINCE=Mon, 09 Aug 2004 09:22:24 GMT

-ну и что, сложно его анализировать, и, если переиндексация страницы не нужна, отдавать 304 Not Modified?
Кстати, средствами сервера все равно неудобно управлять переиндексацией, даже если этот заголовок не режется. Ведь нельзя отдельным страницам “приказать” обновиться.
А таким способом можно. Можно даже переиндексацию планировать.
RFC: http://seolab.ru/add/rfc2068/82.html