|
|
|
| есть массив спамовых слов, при обнаружении которых при отправке сообщения в гостевую спамеру выдается сообщение, что он написал спам и его перекидывает на главную страницу. Как реализовать? Проверка идет по textarea ($_POST['msg'])
массив
$spamword = array ('valium',
'viagra',
'cilium',
'levitra',
'drugs',
'hydrocodone',
'<a href=',
'[url]'
);
foreach($spamword as $index=>$val) echo $val;
|
и должны быть проверка тут:
if (eregi('ЧТО ДОЛЖНО БЫТЬ ТУТ?', $_POST['msg']))
{
$error5 = 'No SPAM!';
}
if(isset($error5))
{
echo '<script>alert("'.$error5.'"); document.location.href="/"</script>';
exit();
}
|
| |
|
|
|
|
|
|
|
для: Clocker
(24.06.2006 в 00:26)
| | Хм... а второй блок в цикле проходит? | |
|
|
|
|
|
|
|
для: cheops
(24.06.2006 в 12:25)
| | Где перебор массива? GПроходит, но пишет все слова слитно в олну строку. Я и спрашиваю как реализовать | |
|
|
|
|
|
|
|
для: Clocker
(24.06.2006 в 19:15)
| | В смысле все слова в строчку? | |
|
|
|
|
|
|
|
для: cheops
(24.06.2006 в 22:07)
| | В строчку это так:
valiumviagraciliumlevitradrugshydro codone<a href=[url]
Целью является перебор слов в массиве и сравнение с теми, что есть в сообщении. Т.е.., если слово из массива присутствует в сообщение, спамера перекидывает на главную страницу сайта и показывается сообщение No SPAM! Вроде все просто, но я запутался... | |
|
|
|
|
|
|
|
для: Clocker
(24.06.2006 в 23:25)
| | Попробейта так:
<?php
if(!empty($_POST['text']))
{
$text = $_POST['text'];
$spam = array ("valium", "viagra", "cilium", "levitra", "drugs", "hydrocodone", "<a href=", "[url]");
foreach($spam AS $val);
if(eregi($val, $text))
{
echo "NO SPAM";
}
}else
{
echo "Поле не заполнено";
}
?>
|
У меня работает | |
|
|
|
|
|
|
|
для: hell_riser
(25.06.2006 в 00:31)
| | У меня тоже, благодарю. Это из серии "А ларчик просто открывался"-).
Спасибо. | |
|
|
|
|
|
|
|
для: hell_riser
(25.06.2006 в 00:31)
| | А нельзя
if(in_array($text,$spam))
|
| |
|
|
|
|
|
|
|
для: Clocker
(24.06.2006 в 00:26)
| | Не советую пытаться избавиться от спама таким примитивным образом...бесполезно, замучаетесь добавлять в массив список ключнвых слов, ктороми спамят гесты. Только пиктокоды... и то... но это 90% успеха решения задачи. | |
|
|
|
|
|
|
|
для: Shura
(25.06.2006 в 10:26)
| | Полностью согласен.
Просто модераторов на сайте держите.. | |
|
|
|
|
|
|
|
для: valenok
(25.06.2006 в 10:48)
| | А можно ли как-то список спамовых слов держать в отдельном текстовом файле (spam.txt) и сверять посланные данные с ним? Если да, то как это лучше сделать? | |
|
|
|
|
|
|
|
для: Владимир22
(09.07.2006 в 04:27)
| | Лучше сразу помещайте их в массив, а файл подключайте при помощи конструкции include() - так быстрее получится, не понадобится тратить время на разбор файла. | |
|
|
|
|
|
|
|
для: cheops
(09.07.2006 в 11:12)
| | А зачем массив в отдельный файл?
Бстрее получится если не подключать что либо. | |
|
|
|
|
|
|
|
для: valenok
(09.07.2006 в 22:19)
| | Обновлять отдельный файл с фильтром удобнее - не нужно каждый раз затрагивать и загружать код. | |
|
|
|
|
|
|
|
для: Владимир22
(09.07.2006 в 04:27)
| | Вам уже посоветовали не пытаться избавиться таким образом от спама? | |
|
|
|
|
|
|
|
для: Clocker
(24.06.2006 в 00:26)
| | была такая же проблема с гостевой, но мудрить что то и создавать анти-спам на подобие анти-мата я не стал.
Есть 2 способа:
1. Добалять сообщения в гостевую после просмотра их модером или админом. Сообщения добавляются в базу (текстовую или sql), а потом новые мессаги смотрит админ или модер, удаляет ненужные и показывает нормальные. Тут минус - человеческий фактор. Человек может полениться делать эту процедуру, да или вовсе забыть.
2. Добавлять сообщения с вводом случайного числа, генерируемого скрипта. Тут человеческий фактор роли не играет. Да ис криптов-спамеров, которые бы читали цифры, буквы и символы с генерируемой картинки очень мало. На моей памяти - ни одного. Главное картинку генерируемую сделать посложнее, с шумом, цветными символами и различными наклонами. Этот способ почти не имеет минусов. | |
|
|
|
|
|
|
|
для: BAHO
(10.07.2006 в 11:24)
| | Имеет - я в подобных формах сообщений не оставляю. Если человек ленится модерировать собственный ресурс, то я не буду напрягаться ради него. | |
|
|
|