Открыть Ответить

Запрет ссылок в комментариях

Знатоки Слаеда помогите переделать хак "запрет ссылок в комметариях".
В своё время кто-то (спасибо ему) подсказал решение по запрету испльзования ссылок в комментариях, выглядит это так в файле comments.php

function SaveComments($cid, $postname, $comment) {<br /> global $prefix, $db, $user, $userinfo, $module_name, $anonpost;<br /> require_once("config/config_comments.php");<br /> $e = explode(" ", $comment);<br /> for ($a = 0; $a < sizeof($e); $a++) $o = strlen($e[$a]);<br /> $stop = "";<br /> if ($comment == "") $stop = ""._CERROR1."";<br /> if ($o > $comletter) $stop = ""._CERROR2."";<br /> //###################################--Запрет ссылок в коментах<br /> $check = preg_replace("/http:/","",$comment); <br /> if ($comment != $check) $stop = "Уважаемые пользователи, размещение ссылок в комментариях запрещено в целях борьбы со спам-ссылками!";<br /> //###################################--Запрет ссылок в коментах<br /> if ((!is_user($user) && $postname == "") || (!is_user($user) && $anonpost == 0)) $stop = ""._CERROR3."";<br /> //Начало кода "Проверка имени Гостя"<br /> <br /> //Если пришел Гость<br /> if (!is_user($user)) {<br /> <br /> //Обнуляем переменную<br /> $stop_name = "";<br /> <br /> //Проверяем, есть ли имя, написанное при комментарии в таблицах пользователей и админов<br /> $stop_name .= list($stop_name1) = $db->sql_fetchrow( $db->sql_query("SELECT user_id FROM ".$prefix."_users WHERE user_name = '$postname' ") );<br /> $stop_name .= list($stop_name1) = $db->sql_fetchrow( $db->sql_query("SELECT user_id FROM ".$prefix."_users_temp WHERE user_name = '$postname' ") );<br /> $stop_name .= list($stop_name1) = $db->sql_fetchrow( $db->sql_query("SELECT id FROM ".$prefix."_admins WHERE name = '$postname' ") );<br /> <br /> //Если есть совпадения, то выводим сообщение об ошибке.<br /> if ($stop_name != "") {<br /> $stop = "Ошибка! <br>Имя $postname используется зарегистрированным пользователем. <br><br>Если Вы зарегистрированный пользователь, <a href=\"index.php&#063;name=Account\">войдите</a> под своим Login'ом.";<br /> }<br /> }<br /> <br /> //Конец кода "Проверка имени Гостя"<br /> if (captcha_check(1)) $stop = ""._SECCODEINCOR."";

Подскажите решение чтоб всё-таки администратор и пользоватетели находящиеся в определённой группе смогли добавлять ссылки в комментариях. Если по группам очень сложно, то хотя бы разрешить администратору.
Версия - Slaed 2.5 Lite
Спасибо.

SLAED CMS 2.6 Lite
PHP 4
Сервер в интернете
gruz
  • Группа: Новички
  • Пункты: 172
  • Регистрация: 13.07.2005
  • Пол: Мужчина
  • Из: Москва
gruz
4.08

4.08

17.05.2010 12:43:53 17.05.2010 12:44:26

//###################################--Запрет ссылок в коментах
if (!is_admin())
{

$check = preg_replace("/http:/","",$comment);
if ($comment != $check) $stop = "Уважаемые пользователи, размещение ссылок в комментариях запрещено в целях борьбы со спам-ссылками!";
}

//###################################--Запрет ссылок в коментах

sam07
  • Группа: Посетители
  • Пункты: 772
  • Регистрация: 01.06.2006
  • Пол: Мужчина
  • Из: Моздок
sam07
3.91

3.91

sam07, Нужно проверку на внутрение ссылки делать.

А еще если левая ссылка вместо "Уважаемые пользователи, размещение ссылок в комментариях запрещено в целях борьбы со спам-ссылками!" написать ссылку на три русские буквы Смайл - 06

ra55551
  • Группа: Клиент
  • Пункты: 2121
  • Регистрация: 02.11.2008
  • Пол: Мужчина
  • Из: Пермь
ra55551
3.74

3.74

sam07, Спасибо за быстрый ответ, но не получается так как вы предложили. Т.е захожу на сайт и в админку под одним логином админа, но ссылку добавить в комменты всёравно не могу.

SLAED CMS 2.6 Lite
PHP 4
Сервер в интернете
gruz
  • Группа: Новички
  • Пункты: 172
  • Регистрация: 13.07.2005
  • Пол: Мужчина
  • Из: Москва
gruz
4.08

4.08

вместо

is_admin()


надо

is_admin($admin)

ra55551
  • Группа: Клиент
  • Пункты: 2121
  • Регистрация: 02.11.2008
  • Пол: Мужчина
  • Из: Пермь
ra55551
3.74

3.74

ra55551, И такой код тоже не сработал

//###################################--Запрет ссылок в коментах<br /> if (!is_admin($admin))<br /> {<br /> $check = preg_replace("/http:/","",$comment); <br /> if ($comment != $check) $stop = "Уважаемые пользователи, размещение ссылок в комментариях запрещено в целях борьбы со спамом!";<br /> }<br /> //###################################--Запрет ссылок в коментах<br />

Может как то по другому?

SLAED CMS 2.6 Lite
PHP 4
Сервер в интернете
gruz
  • Группа: Новички
  • Пункты: 172
  • Регистрация: 13.07.2005
  • Пол: Мужчина
  • Из: Москва
gruz
4.08

4.08

ra55551, да это и так понятно.
Есть код, есть вопрос, есть быстрый ответ

sam07
  • Группа: Посетители
  • Пункты: 772
  • Регистрация: 01.06.2006
  • Пол: Мужчина
  • Из: Моздок
sam07
3.91

3.91

gruz, завтра гляну в чем косяк.

ra55551
  • Группа: Клиент
  • Пункты: 2121
  • Регистрация: 02.11.2008
  • Пол: Мужчина
  • Из: Пермь
ra55551
3.74

3.74

ra55551, Спасибо, подождём...

SLAED CMS 2.6 Lite
PHP 4
Сервер в интернете
gruz
  • Группа: Новички
  • Пункты: 172
  • Регистрация: 13.07.2005
  • Пол: Мужчина
  • Из: Москва
gruz
4.08

4.08

В global добавить ,$admin

после

if ((!is_user($user) && $postname == "") || (!is_user($user) && $anonpost == 0)) $stop = ""._CERROR3."";


Вставить

if (!is_admin($admin)){<br /> if (eregi("http://",$comment)) {<br /> $stop = "Уважаемые пользователи, размещение ссылок в комментариях запрещено в целях борьбы со спам-ссылками!";<br /> }}

ra55551
  • Группа: Клиент
  • Пункты: 2121
  • Регистрация: 02.11.2008
  • Пол: Мужчина
  • Из: Пермь
ra55551
3.74

3.74

Всего: 14 на 2 страницах по 10 на каждой странице

1 2
Открыть Ответить

Хотите опробовать SLAED CMS в действии?

Идеи и предложения
Обратная связь