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

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

0.00

0.00

1
17.05.2010 11:19:39

Знатоки Слаеда помогите переделать хак "запрет ссылок в комметариях".
В своё время кто-то (спасибо ему) подсказал решение по запрету испльзования ссылок в комментариях, выглядит это так в файле 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
Сервер в интернете
Группа
Новички
Пункты
172
Регистрация
13.07.2005
Пол
Мужчина
Из
Москва
Предупреждения
Нет
gruz
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 = "Уважаемые пользователи, размещение ссылок в комментариях запрещено в целях борьбы со спам-ссылками!";
}

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

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

3.91

17.05.2010 15:20:57

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

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

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

3.75

17.05.2010 15:23:21

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

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

4.08

17.05.2010 15:29:48

вместо

is_admin()


надо

is_admin($admin)

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

3.75

17.05.2010 15:51:26

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
Сервер в интернете
Группа
Новички
Пункты
172
Регистрация
13.07.2005
Пол
Мужчина
Из
Москва
Предупреждения
Нет
gruz
gruz
4.08

4.08

17.05.2010 18:34:44

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

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

3.91

17.05.2010 20:29:09

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

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

3.75

17.05.2010 20:44:33

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

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

4.08

18.05.2010 12:00:47

В 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 /> }}

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

3.75

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

1 2
Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код