Joomla 3.x Защита от спама в chronoforms 6

Discussion in 'Вопросы безопасности' started by OlegK, Mar 25, 2020.

  1. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Аналогично как в Jcomments
    В файле модуля chronoforms , который выводит форму на странице сайта, делаем проверку на наличие http or https
    Код (PHP):
    1. $event = G2\L\Request::data('event', '');
    2. // Start OlegK
    3.    $message = G2\L\Request::data('message', '');
    4.    if (!empty($message)) {
    5. if (preg_match("/(http|https)/i", $message)) {
    6.    $app = JFactory::getApplication();
    7.    $app->redirect(JURI::Current(), 'No Spam', 'error');
    8. }
    9.    }
    10.    //end
    11.    if(!empty($event)){

    п.с.
    Добавил файл модуля .
    Это файл модуля, в котором я добавил проверку на сервере, на наличие http или https в поле message. Если есть стоп слова, код редиректит на текущую страницу и выдает сообщение 'No Spam' и ошибку типа Error которая должна выводится в шаблоне в
    Код (html):
    1. <jdoc:include type="message" />

    Аналогично можно сделать по любому полю и добавить стоп слова.
     

    Attached Files:

    Last edited: Mar 26, 2020
  2.  
  3. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Еще как вариант использовать ,
    Код (PHP):
    1. JSession::checkToken('get') or die( 'Invalid Token');

    но нужно в форме добавить ,
    Код (PHP):
    1. <?php echo JHtml::_( 'form.token' ); ?>
    2.    </form>
     

Share This Page

Loading...