Чтение RSS каналов

Форум

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

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

0

0
1
17.05.2010 11:19:39
Знатоки Слаеда помогите переделать хак "запрет ссылок в комметариях".
В своё время кто-то (спасибо ему) подсказал решение по запрету испльзования ссылок в комментариях, выглядит это так в файле comments.php
function SaveComments($cid, $postname, $comment) {
global $prefix, $db, $user, $userinfo, $module_name, $anonpost;
require_once("config/config_comments.php");
$e = explode(" ", $comment);
for ($a = 0; $a < sizeof($e); $a++) $o = strlen($e[$a]);
$stop = "";
if ($comment == "") $stop = ""._CERROR1."";
if ($o > $comletter) $stop = ""._CERROR2."";
//###################################--Запрет ссылок в коментах
$check = preg_replace("/http:/","",$comment);
if ($comment != $check) $stop = "Уважаемые пользователи, размещение ссылок в комментариях запрещено в целях борьбы со спам-ссылками!";
//###################################--Запрет ссылок в коментах
if ((!is_user($user) && $postname == "") || (!is_user($user) && $anonpost == 0)) $stop = ""._CERROR3."";
//Начало кода "Проверка имени Гостя"

//Если пришел Гость
if (!is_user($user)) {

//Обнуляем переменную
$stop_name = "";

//Проверяем, есть ли имя, написанное при комментарии в таблицах пользователей и админов
$stop_name .= list($stop_name1) = $db->sql_fetchrow( $db->sql_query("SELECT user_id FROM ".$prefix."_users WHERE user_name = '$postname' ") );
$stop_name .= list($stop_name1) = $db->sql_fetchrow( $db->sql_query("SELECT user_id FROM ".$prefix."_users_temp WHERE user_name = '$postname' ") );
$stop_name .= list($stop_name1) = $db->sql_fetchrow( $db->sql_query("SELECT id FROM ".$prefix."_admins WHERE name = '$postname' ") );

//Если есть совпадения, то выводим сообщение об ошибке.
if ($stop_name != "") {
$stop = "Ошибка! <br>Имя $postname используется зарегистрированным пользователем. <br><br>Если Вы зарегистрированный пользователь, <a href=\"index.php?name=Account\">войдите</a> под своим Login'ом.";
}
}

//Конец кода "Проверка имени Гостя"
if (captcha_check(1)) $stop = ""._SECCODEINCOR."";

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


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 4
Сервер: Сервер в интернете
4.08

4.08
2
17.05.2010 12:43:5317.05.2010 12:44:26
//###################################--Запрет ссылок в коментах
if (!is_admin())
{

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

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

3.89
3
17.05.2010 15:20:57
sam07, Нужно проверку на внутрение ссылки делать.

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

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


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 4
Сервер: Сервер в интернете
4.08

4.08
5
17.05.2010 15:29:48
вместо

is_admin()


надо

is_admin($admin)
3.75

3.75
6
17.05.2010 15:51:26
ra55551, И такой код тоже не сработал
//###################################--Запрет ссылок в коментах
if (!is_admin($admin))
{
$check = preg_replace("/http:/","",$comment);
if ($comment != $check) $stop = "Уважаемые пользователи, размещение ссылок в комментариях запрещено в целях борьбы со спамом!";
}
//###################################--Запрет ссылок в коментах

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


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 4
Сервер: Сервер в интернете
4.08

4.08
7
17.05.2010 18:34:44
ra55551, да это и так понятно.
Есть код, есть вопрос, есть быстрый ответ
3.89

3.89
8
17.05.2010 20:29:09
gruz, завтра гляну в чем косяк.
3.75

3.75
9
17.05.2010 20:44:33
ra55551, Спасибо, подождём...


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 4
Сервер: Сервер в интернете
4.08

4.08
10
18.05.2010 12:00:47
В global добавить ,$admin

после

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


Вставить

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

3.75
Открыть Ответить
postnamecommentзапретwherename1ссылокcheckuserlistnameкомментарияхprefixquotеслиstop
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь