izbushka

izbushka
Рейтинг
110
Регистрация
08.06.2007

Сделано на AJAX

Хотя нет. Обычные формы.

Наверное база правильно составлена, легкий код, мощные сервера и прочее :)

Нельзя сказать не имея доступа к коду..

Думаю, что в большинстве случаев будет достаточно Javascript защиты. Боты редко выполняют JS, никогда практически..

Т.е. выполняете какой-то код на JS, если результат правильный - можно считать, что это юзер.

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

edka:
Имеет ли такой способ право на жизнь?

Куки не вечны. Если кука будет, то юзер посещал сайт однозначно, но если ее нет - это не зачит на 100%, что не посещал. Если такая погрешность устраивает - почему нет.

Iggo:
Соответственно вопрос - как правильно поступить? Я пока вижу 2 варианта:
1. В дефолтной директории выводить только 1 страницу с кодом(!) ошибки 404 и прописать жесткий редирект на нее
2. Каким-то образом на уровне конфига Apache заменять пустой HTTP_HOST+SERVER_NAME на Host из заголовка

Я не понял чего вы хотите..

1. А что у вас несколько страниц выводится, или что?

2. Зачем его заменять? Какая цель?

Iggo:
всегда передает HOST в заголовке, а HTTP_HOST и SERVER_NAME - когда как.

HOST - это заголовок, да.

Остальное все нет.

HTTP_HOST - это переменная окружения, которая определяется по этому заголовку

SERVER_NAME - это то, что задано в конфиге сервера.

Т.е. к клиенту эти две переменных отношения не имеют

Sanches27:

Тогда я бы сделал отдачу отдельной иконки для робота YandexFavicons

Поддерживаю. Сделать одну многослойную иконку, а яндексу отдавать другую по еге запросу.

.htaccess:

RewriteCond %{HTTP_USER_AGENT} YandexFavicons
RewriteRule ^favicon.ico$ /favicon-16.ico [L]

У вас есть фреймы на сайте?

Вы не можете обращаться с одного фрема в другой через JS если они на разных доменах

Не ясно что вы хотите.

Вы не можете поставить себе код Adsense, или что? По-моему, у гугла нормальная инструкция по этому поводу..

Иначе не пойму что вам не ясно. Вы пробовали переводить сообщение об ошибке? :)

Pasha199:
doctorpc, с первым пунктом спасибо большое. А вот с отправкой не могу разобраться.

Отправлять форму "с перезагрузкой" страницы умеете?

Если да, то читайте про Ajax.

Если нет, то учитесь сначала этому.

Zion-i2:
setcookie('secret_key',$secret_code,time()+7*24*60*60);
$secret_result = (int)$_COOKIE['secret_key'];
echo "$secret_result";

Не выводит, потому что вы только поставили куку, ее еще нет. При следующем обращении будет.

Всего: 904