1. PHP / Говнокод #20154

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    <?php
    /*
    You can place here your functions and event handlers
    
    AddEventHandler("module", "EventName", "FunctionName");
    function FunctionName(params)
    {
            //code
    }
    */
    
    AddEventHandler('form', 'onBeforeResultAdd', 'my_onBeforeResultAdd');
    CModule::IncludeModule('cleantalk.antispam');
    
    function my_onBeforeResultAdd($WEB_FORM_ID, $arFields, $arrVALUES) {
     $ct_status = COption::GetOptionString('cleantalk.antispam', 'status', '0');
     if ($ct_status == 1) {
      global $APPLICATION;
      $aParams = array();
      $aParams['type'] = 'comment';
      $aParams['sender_email'] = isset($arrVALUES['email']) ? $arrVALUES['email'] : '';
      $aParams['sender_nickname'] = isset($arrVALUES['nickname']) ? $arrVALUES['nickname'] : '';
      $aParams['message_title'] = isset($arrVALUES['title']) ? $arrVALUES['title'] : '';
      $aParams['message_body'] = isset($arrVALUES['message']) ? $arrVALUES['message'] : '';
      $aResult = CleantalkAntispam::CheckAllBefore($aParams, FALSE);
      if (isset($aResult) && is_array($aResult)) {
       if ($aResult['errno'] == 0) {
        if ($aResult['allow'] == 1) {
            //Not spammer - just return;
            return;
        } else {
         if (preg_match('//u', $aResult['ct_result_comment'])) {
          $err_str=preg_replace('/^[^\*]*?\*\*\*|\*\*\*[^\*]*?$/iu','',$aResult['ct_result_comment']);
          $err_str=preg_replace('/<[^<>]*>/iu', '', $err_str);
         } else {
          $err_str=preg_replace('/^[^\*]*?\*\*\*|\*\*\*[^\*]*?$/i','',$aResult['ct_result_comment']);
          $err_str=preg_replace('/<[^<>]*>/i', '', $err_str);
         }
         $APPLICATION->ThrowException($err_str);
         return false;
        }
       }
      }
     }
    }
    ?>

    Четкая конторка написала четкий антиспам-модуль для битрикса и показывает как его нужно использовать. Тут все в одном флаконе - от игнорирования всех стандартов PSR разом до иррациональной реализации ... Пост на хабре: https://habrahabr.ru/company/cleantalk/blog/302800/

    Запостил: zenn1989, 08 Июня 2016

    Комментарии (9) RSS

    • Только хотел запостить, а уже опередили. :D
      Ответить
    • на битриксе по другому и не напишешь, потому что разрабы - умственно-отсталые мартышки под смесью кокса и абсента с поломанными пальцами. Постучали по клаве - получился битрикс
      Ответить
      • на ПХП по другому и не напишешь, потому что разрабы - умственно-отсталые мартышки под смесью кокса и абсента с поломанными пальцами. Постучали по клаве - получился ПХП
        Ответить
        • для веба по другому и не напишешь, потому что разрабы - умственно-отсталые мартышки под смесью кокса и абсента с поломанными пальцами. Постучали по клаве - получился веб
          Ответить
          • программу по-другому и не напишешь, потому что разрабы - умственно-отсталые мартышки под смесью кокса и абсента с поломанными пальцами. Постучали по кремнию - получился компьютер
            Ответить
            • ....
              мультивселенную по-другому и не создашь, потому что бог - умственно-отсталая мартышка под смесью кокса и абсента с поломанными пальцами. Постучал 1e−45 секунд по сингулярности - получился мир
              Ответить
        • вполне напишешь, если слезешь с кокса, абсента, будешь беречь пальцы и не будешь умственно-отсталой мартышкой
          Ответить
    • > $err_str=preg_replace('/^[^\*]*?\*\*\*|\*\*\*[^\*]*?$/iu','',$aResult['ct_result_comment']);
      > $err_str=preg_replace('/<[^<>]*>/iu', '', $err_str);
      > $err_str=preg_replace('/^[^\*]*?\*\*\*|\*\*\*[^\*]*?$/i','',$aResult['ct_result_comment']);
      > $err_str=preg_replace('/<[^<>]*>/i', '', $err_str);
      Штоэта, блядь?!
      Ответить
      • Похоже на вырезание тогов из комментариев.
        Ответить

    Добавить комментарий