WebScript.Ru
C:\   главная  ::   о сайте  ::  каталог скриптов  ::  гнездо  ::  форум  ::   авторам  :: Новостройки ::   ХОСТИНГ  ::

|| разделы::
|| поиск по сайту::

|| реклама::
|| новости почтой::
Рассылки Subscribe.Ru ::



Новости сайта WebScript.Ru
Популярные статьи

Hot 5 Stories

|| рекомендуем::




No spam.php (как бороться со спамом)


Прислал: Spectator [ 24.05.2001 @ 09:48 ]
Раздел:: [ Статьи по PHP ]


Скажи спаму «no spam.php !»

...и снова о спаме. Кто о нем только не писал, и все писали, что это плохо и ай-яй-яй. Я не буду оригинальничать, и тоже скажу - это плохо. Это ай-яй-яй. Как бороться со спамерами со своей стороны, знает каждый - почтовые фильтры, всякие программы, отсылающие спамеру ответ, мол, адрес такой не найден и прочее... Базы данных спамеры составляют очень просто - натравливают специальные программы на различные сайты, в основном туда, где много email-адресов - форумы, гостевые, и прочее. Дальше - дело техники: программы просматривают html-код, ищут там mailto: и заносят почтовый адрес в свою базу. Бороться с этим можно самому, при публикации своего мыла - писать его, например, spectator[sobaka]mail.ru. Тот, кому надо, исправит адрес при написании письма сам.

Однако есть как минимум два способа, как при написании гостевых книг (или форумов) сделать защиту от спамеров. Первый - это не публиковать email вообще, а вместо его ставить ссылку на страницу с формой, с помощью которой желающий, не зная адреса, сможет отправить письмо соответствоющему человеку. С одной стороны - удобно. Так сделано, например, на webscript.ru. С другой - не совсем, потому что многие предпочитают не пользоваться формами, а отправить письмо через любимый bat! Да и вообще, неизвестно еще куда отправит ваше письмо данная форма. Шучу, конечно, но недостатки этого метода, как и достоинства, очевидны.

«Но есть способ лучше!». Не абсолютно лучше, но в некоторых случаях явно лучше. Заключается он в том, чтобы публиковать ссылки на email адреса вот в таком виде: click here. Желающие могут кликнуть и посмотреть, что это работает. Программы, «выдирающие» адреса, ничего на найдут.

Кликнули? Работает?

А теперь - как. Первая часть скрипта, которая заменяет в тексте адреса на такие ссылки простая, даже нет смысла ее приводить. Если что - то у меня в отзывах стоит примерно следующее:

$nospam= str_replace ('@','[dog]',$mail);
echo ('<a href=nospam.php3?'.$nospam.'>');

Вторая часть - это, собственно, скрипт nospam.php3. Состоит он ровно из двух строк:

<php
$url = str_replace ('[dog]','@',$QUERY_STRING);
header('Location: mailto:$url');
?>

Меняем [dog] на @ обратно и шлем в хедере mailto: и адрес. При этом ничего в браузер не грузится и предыдущая страница остается нетронутой.

Вот, собственно, и все. Осложним жизнь спамерам.


 :::::  Spectator пишет 24.05.2001 @ 13:12 
Вот тут - http://spectator.ru/issues/260 добавления и немного багфисков ;)
 :::::  AliMamed пишет 25.05.2001 @ 01:21 
очень хорошо. кстати баг с пустым окном вылезает не только в 5.5, но и в 5.0 - и этот же патч его лечит.

а идея супер.
 :::::  NAS пишет 25.05.2001 @ 02:15 
А у меня в 5.0 не вылезает.
 :::::  AliMamed пишет 25.05.2001 @ 04:46 
ок. точнее - Версия: 5.00.2314.1003

но в связи с наличием фиксенной версии скрипта это уже не существенно.
 :::::  Spawn пишет 27.05.2001 @ 03:08 
Вот это уже тема! Спасибо за идею!
 :::::  AliMamed пишет 28.05.2001 @ 03:16 
 :::::  Spectator пишет 28.05.2001 @ 03:18 
Я не претендовал на уникальность.
 :::::  AliMamed пишет 28.05.2001 @ 03:59 
Ну я тебя не обвинял ни в чем. =) У вас наверняка там разная реализация. Тем более у него нету багфикса с 5+ ИЕ.
 :::::  Spectator пишет 28.05.2001 @ 05:17 
Да, у него там много лишних букв ;)

if($QUERY_STRING) {
$email = str_replace(":","@",$QUERY_STRING);
}
else {
die("No e-mail address!");
}

if(stristr($email,"@")) {
Header("Location:mailto:$email");
}
else {
die("The e-mail address must include a domain name.");
}
 :::::  Alex пишет 14.06.2001 @ 03:56 
А меня ссылка "click here" куды-то на сайт RINET зашвырнула ....
 :::::  DragonFly пишет 31.08.2001 @ 21:54 
Вообще говоря, поднятая тема актуальна и интересна. IMHO, тема о спаме ДАЛЕКО НЕ ЗАЕЖЖЕНА (прошу считать это некоторым несогласием с автором). К слову, в первый раз слышу о прогах для спама, но верю, что они существуют. Я думаю, что надо рассмотреть этот вопрос в очередной статье более подробно.
Обещаю сердечно поблагодарить авторов статей на сию тему. Мой нескрываемый интерес объясняеться тем, что в ближайшее время буду писать два разных форума.
Спасибо за внимание,
Артем Ефименко
 :::::  mike пишет 13.06.2003 @ 21:40 
Все равно самый лучший способ борьбы со спамом - не публиковать E-Mail, а использовать форму обратной связи. Главный плюс - пользователи без E-Mail клиента могут вам послать сообщение.
 :::::  Тугрик пишет 04.08.2003 @ 00:18 
цЫтата:
==============================================================
Заключается он в том, чтобы публиковать ссылки на email адреса вот в таком виде: click here. Желающие могут кликнуть и посмотреть, что это работает.
==============================================================
Кликнул... В IE, точнее MyIE, что есть однояйцевые...
Не работает... Выдал ошибку 404... Ну что скажете?
 :::::   пишет 07.08.2003 @ 12:45 
цЫтата:
==============================================================
Давайте посмотрим… А теперь эта ссылка в IE 5.5 — работает? Click here.
==============================================================

Кликал рыбку и я :-) - реакция вообще НОЛЬ! :-(
У меня IE6.

 :::::  sPhinks пишет 10.08.2003 @ 02:27 
ссылка не работает... хм ... у меня IE 6.0.2600 Rus
 :::::  My-My_UNdead пишет 05.02.2004 @ 10:15 
хммм а не проще перекодировать данные в ASCII кодировку?????
 :::::  pvl пишет 20.04.2007 @ 13:31 
идея так себе! Спамеры не только пользуются роботами, но и иногда сами вручную заносят ваш адрес в спам-базу. Помоему, зашифровать адрес в java script куда более надежное дело. И робот х*й найдет, и непосвященный в java script спамер х*й поймет. Да и посвященный разбираться тоже врядли станет.

Способов защищать своё мыло от спама куча, а вот способов защитить форум от спама практически нет. Так может кто напишет, как быть с форумом?..
Имя:
Email:
URL

Введите сумму двух чисел девять и одинн (девять+одинн=?)
Запомнить мою информацию

* Html запрещен* Ваш E-mail опубликован не будет.

Copyright © 2000-2001 WebScript.Ru nas@webscript.ru
Design © 2001 by Parallax Design Studio (aka Spectator.ru)
Все торговые марки и авторские права на эту страницу принадлежат их соответствующим владельцам.
Сгенерировано за: 0.0148308