Kredov long

Фильтрация, блокировка личных сообщений.

Тема в разделе "PHP", создана пользователем viboxjuwin, 16 июн 2013.

  1. viboxjuwin

    viboxjuwin

    Регистрация:
    16 июн 2013
    Сообщения:
    0
    Симпатии:
    0
    Доброго времени суток, уважаемые форумчане!
    Интересует вопрос о том, как можно заблокировать входящие сообщения содержащие контактные данные пользователя (email, номер телефона) на сайте.
    Сайт организован на движке joomla 2.5
    Тема интересная, на мой взгляд. Прошу, поделитесь кто чем может :smile:


    Примечание: нагуглил php код для фильтрации "ограничение количества ссылок в сообщении".


    //Функция, которая проверяет строку на наличие в ней ссылок
    //и возвращает false, если их число больше лимита.
    //По умолчанию, лимит равен 1
    function fits_limit_links($str, $allowed_links=1){

    //Искать http://
    $pattern = '/http:///i';
    preg_match_all($pattern, $str, $link_matches);

    //Если встречаются совпадения и их больше, чем $allowed_links,
    //то вернуть false, иначе вернуть true
    return ( isset($link_matches[0]) &&
    count($link_matches[0]) > $allowed_links )? false : true;
    }

    $allowed_links = 2;

    if( fits_limit_links($_POST['text_body'], $allowed_links) ){
    //..продолжить обработку формы

    }else{
    //..обработка ошибки
    echo "Сработал анти-спам фильтр."
    echo "Сообщение может содержать не более чем " .$allowed_links ." ссылок";
    exit;
    }

    В примечании к нему было написано о том, что вставлять нужно на сервер.
    Можно ли адаптировать код под фильтрацию контактных данных? И, если это возможно, то как вставить его на сервер?
     
  2. viboxjuwin

    viboxjuwin

    Регистрация:
    16 июн 2013
    Сообщения:
    0
    Симпатии:
    0
    В чате либо в личных сообщениях PMS - разницы нет)
    Только помогите, прошу)
     
  3. sokoji

    sokoji

    Регистрация:
    13 июл 2013
    Сообщения:
    2
    Симпатии:
    0
    Я так полагаю: парсить регулярными выражениями и если явно контактные данные предоставлены, то блокируем. Если подозрительное сообщение - кидаем на модерацию.
    В любом случае, это непростой алгоритм, т.к. можно телефон словами указать, например, но его надо отличить от указания суммы прописью, к примеру.