Методы борьбы со спамом |
|||
|
Одной из наиболее эффективных методик борьбы со спамом является усложнение отправки сообщения. Чем труднее отправить информацию, тем больше вероятность, что спамеры покинут ваш сайт и станут искать другое место для рассылки спама. <b>Обязательный пароль</b> Вы также получите большую пользу в будущем. Многие методы, которые мы обсудим позже, рассчитаны на возможность отслеживания действий одного человека. Обязательная авторизация позволяет легко вести статистику в отношении данного пользователя и отслеживать то, что он делает на вашем сайте. Это может помочь вам определить, является ли данный пользователь спамером. <b>Защита от подделки межсайтовых запросов</b> Традиционное решение для CSRF требует хранить уникальный идентификатор в PHP сессии для пользователя. Затем, когда вы предоставляете форму для отправки пользователю, вы размещаете уникальный идентификатор в скрытом поле формы. Когда пользователь отправляет заполненную форму обратно, сервер проверяет, чтобы копия уникального идентификатора в сессии совпадала с тем, который передан вместе с формой. Тем самым вы требуете, чтобы пользователь загрузил форму для получения правильного значения скрытого поля. Так что, помимо устранения дыры в безопасности, это также означает, что автоматизированный сценарий, использующий ваш сайт должен сделать то же самое. Он должен загрузить страницу, разобрать все элементы формы и снова отправить их на сервер, вместе с соответствующими cookie для поддержания сессии. Конечно, сделать такое возможно, но это является высоким барьером для обычного сценария. <b>Обязательное поле User Agent</b> В PHP приложении, вы можете просто заблокировать все сообщения, которые не содержат значение для $_SERVER["HTTP_USER_AGENT"] и немедленно прекратить работу многих сценариев. Такое блокирование также может быть сделано с помощью брандмауэра или распределителя нагрузки. <b>Скрытое поле CSS</b> <html> Это означает, что действительный пользователь не увидит поле и, следовательно, не станет его заполнять - в то время как сценарий, который пытается вести себя, как человек будет заполнять все возможные поля. Если поле заполнено, можно предположить, что сообщение было отправлено с помощью сценария. Следует отметить, что данная проверка не всегда доступна. У некоторых пользователей может быть отключен CSS или использоваться более старая версия браузера, на которой данное поле видно, и они попытаются его заполнить. Поэтому данный метод следует использовать только в качестве индикатора возможного спама, а не абсолютно точного показателя. Если вы посмотрите на приведенный выше пример, то заметите, что сценарии могут быть достаточно умны, чтобы найти CSS, содержащий "display: none;". С связи с этим я видел много людей, которые использовали более творческие подходы для CSS и скрывали текст, изменяя Z слой, чтобы текст сливался с цветом фона. Существует много подобных методик, которые делают поле невидимым человеческому глазу и трудно обнаруживаемым для сценариев. <b>Обязательное использование JavaScript</b> Примером данного подхода является создание <form> на лету с применением DOM, используя редактируемый текст HTML через designMode DOM, абсолютно без использования форм. Но проблема данных решений заключается в том, что они остановят всех, у кого отключен JavaScript. Также данные решения заблокируют пользователей, у которых по тем или иным причинам возникли ошибки при выполнении JavaScript. <b>rel="nofollow"</b> Но применяя данный метод ко всем ссылкам, вы не получите преимущества
от полезных ссылок. Таким образом, наказывая спамеров, вы также наказываете
законных пользователей.
Авторское право © Softnest.narod.ru
|
|