У меня есть спамер, который использует мою контактную форму PHP по электронной почте и записал это в почтовое сообщение:
[url=http://qjtouvifclfk.com/]qjtouvifclfk[/url] [link=http://gqmrjhtujkoe.com/]gqmrjhtujkoe[/link] http://tkihpjlwszyw.com/
Я хочу найти в сообщении все, что имеет [url= и [/url] и [link= и [/link] и http:// и .com, и удалить его.
[url=
[/url]
[link=
[/link]
http://
.com
Это происходит постоянно. Автоматизированные боты будут отправлять POST на ваши формы, ища что-то, что они могут использовать в качестве реле спама.
Есть много способов обойти это. Наиболее распространенным является CAPTCHA, но ваши пользователи будут вас ненавидеть.
Смотрите этот пост: Альтернатива капче?
Раньше я получал то же самое около 2 лет назад. Добавьте горшок с медом в контактную форму. Это дополнительный ввод, который скрыт с помощью CSS, а затем в вашем PHP проверьте, что он имеет пустое значение перед запуском вашего почтового скрипта. Горшки с медом мешают спам-ботам заполнять ваши формы, я использовал это на 50+ сайтах до сих пор без проблем. Дайте мне знать, если вы хотите больше информации о том, как.
preg_replace("/\[url=(.*)\](.*?)\[\/url]\/i", "", $text); preg_replace("/\[link=(.*)\](.*?)\[\/link]\/i", "", $text); preg_replace("/http:\/\/\/i", "", $text); preg_replace("/\.com/i", "", $text); //this is very agresive line!