Последнее время достали спамеры в комментариях, KCAPTCHA включена но не помогает совсем. Это общая проблема или меня просто "полюбили"? Может есть другая KCAPTCHA, которая более эффективна?
Спамят наверно руками и с разных IP . Я хакнул расширения коментов, и не пропускаю коменты со ссылками . /components/jcomments/jcomments.php 145 str Код (PHP): if (isset($_REQUEST['jtxf'])) { $mystring = JRequest::getVar('comment', '', 'post', 'string'); $findme = 'http://'; $pos = strpos($mystring, $findme); if ($pos === false ) echo 'Ok'; else exit; require_once (JCOMMENTS_BASE.'/jcomments.ajax.php');
Так а открыть тему про свой инструмент ? Если index.php в корне сайта Джумла,то права 444 и не затрется.
Я его не рекламировать сюда пришел а лишь предложил как один из вариантов поставить палки в колеса ботам. Если инструмент интересен, с удовольствием создам тему, тем более есть интерес его довести до ума, т.к. его код используется в другом моем проекте комплексной системы защиты.
Начали проходит ссылки с https, переделал код. Теперь строки с вхождением протоколов http или https не пропускаются. Код (PHP): if (isset($_REQUEST['jtxf'])) { $mystring = JRequest::getVar('comment', '', 'post', 'string'); if (preg_match("/(http|https)/i", $mystring)) {echo "OK"; exit;} require_once (JCOMMENTS_BASE.'/jcomments.ajax.php');
1. Спасибо автору. Отличная идея. На некоторых сайтах пользуюсь. Я туда добавил несколько английских букв, цифры и несколько русских фраз, коммерческой и эро тематики. Спам практически исчез. Из минусов - нельзя в комментах написать сайт, почту, телефон. Это мне собственно и не нужно; если англ. буквы будут совпадать с буквами в обозначении смайлов, то коммент не пройдет. 2. На другом сайте запретил ввод в поле ИМЯ по английски, и написал информацию для людей, что только русские имена. Спам значительно сократился. 3. Была идея сделать стандартную капчу на русском. Это бы тоже сократило бы спам. Но у меня ничего не вышло.(
Не пропускает ссылку если формат Код (html): {URL} ссылка [IMG] картинка [/IMG]/URL} В секции // URL (external) Код (PHP): $patterns[] = '/\[url=([a-z]*\:\/\/)([^\s<\"\'\]]*?)\](.*?)\[\/url\]/iu'; //$replacements[] = '<a href="\\1\\2" rel="external nofollow" target="_blank">\\3</a>'; $replacements[] = '\\3'; --- добавлено: 29.01.2022, первое сообщение размещено: 17.09.2021 --- У кого древняя Джумла 1.0, применяем родной класс JCommentsInput Код (PHP): $mystring = JCommentsInput::getVar('comment', '', 'post', 'string');
отлично все работает спасибо! у меня было на 134 и в место JCOMMENTS_SITE нужно было поменять на JCOMMENTS_BASE иначе сайт криво отображался Код (PHP): if (isset($_REQUEST['jtxf'])) { require_once(JCOMMENTS_SITE . '/jcomments.ajax.php'); данный код можно как то можно на имя подключить ? Чтобы были только русские буквы и сам текс только русские а то очень многого спама с англ текстом