Как защитить профиль DLE от ссылок?

(Ответов: 7, Просмотров: 4609)
  1. Banned
    • Регистрация: 06.02.2012
    • Сообщений: 5
    • Репутация: 4
    Здравствуйте уважаемые форумчане, это моя первая тема на даном форуме и хочется произвести хорошее впечатление!
    Недавно я серьезно задался вопросом как защитить свои сайты на дле от ссылок в профилях на всякие го-но сайты(не в обиду владельцам хрумера), и я начал мучать google запросами, накопал некую информацию, которую вскоре переварил и зделал выводы.
    Как я поступил? Все оказалось не так сложно, как я себе представлял. Пришлось внести незначительные изменения только в 3 файла движка:

    Открыл файл /language/Russian/website.lng и после строчки
    Код:
    'news_err_1'   => "Вы ввели слишком длинное имя.",
    добавил
    Код:
    'news_err_url'   => "URL адреса сайтов, в поле "О себе" публиковать <b style="color:red;">ЗАПРЕЩЕНО</b>!",
    'news_err_url_p'   => "URL адреса сайтов, в поле "Подпись" публиковать <b style="color:red;">ЗАПРЕЩЕНО</b>!",
    дальше в файле /engine/modules/register.php перед
    Код:
    if( dle_strlen( $fullname, $config['charset'] ) > 100 ) $stop .= $lang['reg_err_15'];
    вставил
    Код:
    if (preg_match ("/href|url|http|www|.ru|.com|.net|.info|.org/i", $_POST['info'])) $stop .= $lang['news_err_url'];
    С помощью этих манипуляций мы запретили добавлять ссылки при регистрации, но теперь нужно запретить добавление ссылок при редактировании профиля, это делается с помощью редактирования файла /engine/modules/profile.php
    после строки
    Код:
            if( intval( $user_group[$member_id['user_group']]['max_info'] ) > 0 and dle_strlen( $info, $config['charset'] ) > $user_group[$member_id['user_group']]['max_info'] ) {
                
                $stop .= $lang['news_err_22'];
            }
    вставил
    Код:
              if (preg_match ("/href|url|http|www|.ru|.com|.net|.info|.org/i", $_POST['info']))
                 {
                    $stop .= $lang['news_err_url'];
                  }
    дальше после
    Код:
    		if( intval( $user_group[$member_id['user_group']]['max_signature'] ) > 0 and dle_strlen( $signature, $config['charset'] ) > $user_group[$member_id['user_group']]['max_signature'] ) {
    			
    			$stop .= $lang['not_allowed_sig'];
    		}
    		if( dle_strlen( $fullname, $config['charset'] ) > 100 ) {
    			
    			$stop .= $lang['news_err_23'];
    		}
    вставил
    Код:
              if (preg_match ("/href|url|http|www|.ru|.com|.net|.info|.org/i", $_POST['info']))
                 {
                    $stop .= $lang['news_err_url_p'];
                  }
    сохранил и посмотрел результат, начал регистрировать нового пользователя и в поле о себе добавил ссылку, вот что получилось

    и при редактировании профиля, когда добавил ссылку в подпись

    Способ тестировался на версиях DLE 9.3-9.4, на 9.5 тоже должен работать
    Надеюсь статья станет кому то полезной...
    • 5

    Спасибо сказали:

    ArhStrAngeR(06.02.2012), dicky(06.02.2012), Jeremen(06.02.2012), mr.anon1m(06.02.2012), Orcstation(06.02.2012), sprigan(06.02.2012),
  2. Дипломник Аватар для dicky
    • Регистрация: 25.11.2011
    • Сообщений: 140
    • Репутация: 32
    Неплохой вариант избавиться от ненужный ссылок. Как альтернатива, можно поставить редирект или закрыть от индексации ссылки в профилях.
    • 0
  3. Опытный Аватар для DissConnect
    • Регистрация: 18.07.2011
    • Сообщений: 255
    • Репутация: 45
    • Webmoney BL: ?
    закрываем /user/ в роботс и никуда лезть не надо.
    • 0
  4. Гуру Аватар для Jeremen
    • Регистрация: 10.10.2011
    • Сообщений: 766
    • Репутация: 92
    • Webmoney BL: ?
    Начал делать. В итоге размер некоторого текста увеличился на сайте, плюс в самом верху появилась надпись 14:55 06.02.2012
    Что это может быть? Двиг DLE 9.4. Хотя не пойму как этот код мог повлиять на размер шрифта...
    Последний раз редактировалось Jeremen; 06.02.2012 в 19:30.
    • 0
  5. Опытный Аватар для TBicTep
    • Регистрация: 08.06.2011
    • Сообщений: 342
    • Репутация: 64
    Можно просто в редактирование груп пользователей запретить использование кликабельных ссылок. И тем самым защитить себя от ссылок в комментариях, профиле и приватных сообщениях.
    • 0
  6. Banned
    • Регистрация: 06.02.2012
    • Сообщений: 5
    • Репутация: 4
    Jeremen,Эти манипуляции никак не связаны с размером шрифта, перепроверь все!

    Ребята, эта тема не называется "Как запретить индексацию ссылок в профиле?" или "Как зделать ссылки в профиле не кликабельными?", а "Как защитить профиль DLE от ссылок?", будь то кликабельные, будь то текстовые, зачем ими засырать профили и привлекать Ваших юзеров на свои сайты?

    А нащет запретить в robots папку /user/ от индексации, так насколько мне известно, в 9-й линейке DLE по дефолту так и стоит, может и раньше было(уже не помню)
    • 0
  7. Гуру Аватар для Jeremen
    • Регистрация: 10.10.2011
    • Сообщений: 766
    • Репутация: 92
    • Webmoney BL: ?
    Martyn911, во всё второй раз сделал по внимательней, работает отлично. Правда выводится чуть другим образом, о том что запрещено размещать ссылку :)
    Время не любит, когда его тратят впустую.
    • 0
  8. Новичок
    • Регистрация: 04.11.2011
    • Сообщений: 3
    • Репутация: 5
    Да что вы велосипед изобретаете, в DLE есть отличная стандартная функция - "Вопросы и ответы для защиты от спама", делаем простенький вопрос и вуаля, автоматическая регистрация на вашем сайте уже отпадает. Руками по профилям никто не гоняет, так что этой меры более чем достаточно!
    Последний раз редактировалось shans; 12.02.2012 в 21:43.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
10+ способов защитить блог
Дайджест блогосферы 9 03.02.2012 21:33
Как защитить изображения на блоге от воровства?
Web программирование 20 21.06.2011 08:10
Как защитить изображения на блоге от воровства?
Финансовый раздел 4 02.04.2011 09:52
Как защитить контент от воровства
Дайджест блогосферы 3 18.06.2010 00:57
Как защитить себя от ДДОСа?
Хостинг и Серверы 55 01.10.2009 03:22

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры