ЗАКРЫТЬ
Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

^Место доступно для покупки - 4000 руб/мес^

Наши новости:

02-дек
17-апр
30-дек
29-дек

6 страниц V  « 5 6

Yet Another SpamGuard

, Интересный защитник вашего сервера от спама
Статус пользователя tenb63rus
сообщение 2.4.2016, 13:21
Сообщение #101


Стаж: 3 года 8 месяцев

Сообщений: 817
Благодарностей: 472
Полезность: 841

Цитата
Подскажите, как правильно вырезать из плагина следующий функционал?
Цитата
Обнаружение ников "+c" и т.д;
Обнаружение ВСЕХ лишних "невидимых" символов utf-8 в никах игроков на последних (6ххх) билдах (методом вайтлиста);

Решение, вырезаем:
Код
#if AMXX_VERSION_NUM < 183
    static len
    len = strlen( name )
    
    for( i =; i < len; i ++ )
    {
        if( name[ i ] & 1<<31 )
            name[ i ] &= 0xFF
    }
    
    for( i =; i < sizeof( g_cyrillic ); i ++ )
        replace_all( name, charsmax( name ), g_cyrillic[ i ], "1" )
    
    regex_handle = regex_compile( g_regex_pattern, ret, error, charsmax( error ) )
#else
    regex_handle = regex_compile_ex( g_regex_pattern, PCRE_UTF8, error, charsmax( error ), ret )
#endif

    if( regex_handle != REGEX_PATTERN_FAIL )
    {
        switch( regex_match_c( name, regex_handle, ret ) )
        {
            case REGEX_MATCH_FAIL: log_to_file( "[YASG] REGEX MATCH FAILED FOR %s", name )
            case REGEX_NO_MATCH: return false
        }
        
        regex_free( regex_handle )
    }

и
Код
#if AMXX_VERSION_NUM < 183
new g_regex_pattern[] = "^^[\w\d\-\'\<\>\{\}\[\]\(\)\*\.\\\?\$\|\/\,\:\;\~\`\@\#\!\&\=\^^\ ]+$"

new g_cyrillic[][] = {    "Й","Ц","У","К","Е","Н","Г","Ш","Щ","З","Х","Ъ","Ф","Ы","В","А","П","Р","О","Л","Д","Ж","Э","Я",
                        "Ч","С","М","И","Т","Ь","Б","Ю","Ю","й","ц","у","к","е","н","г","ш","щ","з","х","ъ","ф","ы","в",
                        "а","п","р","о","л","д","ж","э","я","ч","с","м","и","т","ь","б","ю","Ё","ё","і","І","Є","є","Ї","ї" }
#else
new g_regex_pattern[] = "^^[\w\dа-яА-Я\-\'\<\>\{\}\[\]\(\)\*\.\\\?\$\|\/\,\:\;\~\`\@\#\!\&\=\^^\ \і\І\ї\Ї\є\Є\Ё\ё]+$"
#endif

При компиляции будут ошибки:
Код
yet_another_spamguard.sma(542) : warning 203: symbol is never used: "regex_handle"
yet_another_spamguard.sma(542) : warning 203: symbol is never used: "error"
yet_another_spamguard.sma(542) : warning 203: symbol is never used: "ret"

Но они не критичны, все прекрасно работает.

ps.gif понадобилось мне это, т.к использую Rehlds, там пофикшено использование спец. символов и юникода в никах, а значит лишний повторяющийся функционал плагина ни к чему.

Отредактировал: tenb63rus, - 2.4.2016, 23:43
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя umic
сообщение 9.4.2016, 6:27
Сообщение #102
Стаж: 1 год 8 месяцев

Сообщений: 36
Благодарностей: 2
Полезность: 41

tenb63rus,
Скинь пожалуйста код или исходник под rehlds.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя tenb63rus
сообщение 9.4.2016, 8:16
Сообщение #103


Стаж: 3 года 8 месяцев

Сообщений: 817
Благодарностей: 472
Полезность: 841

umic,
Прикрепленные файлы:
Прикрепленный файл  yet_another_spamguard.sma ( 16.4 килобайт ) Кол-во скачиваний: 27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя umic
сообщение 18.12.2016, 5:01
Сообщение #104
Стаж: 1 год 8 месяцев

Сообщений: 36
Благодарностей: 2
Полезность: 41

Перешел на reamxx183
При компиляции 3 варнинга
Cкрытый текст
//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// yet_another_spamguard.sma
//
// C:\Games\╧ырушэ√\Compiler reamxx1.8.3\yet_another_spamguard.sma(527) : warning 203: symbol is never used: "regex_handle"
// C:\Games\╧ырушэ√\Compiler reamxx1.8.3\yet_another_spamguard.sma(525) : warning 203: symbol is never used: "error"
// C:\Games\╧ырушэ√\Compiler reamxx1.8.3\yet_another_spamguard.sma(525) : warning 203: symbol is never used: "ret"
// Header size: 1580 bytes
// Code size: 14848 bytes
// Data size: 504520 bytes
// Stack/heap size: 16384 bytes
// Total requirements: 537332 bytes
//
// 3 Warnings.
// Done.
//
// Compilation Time: 0,37 sec
// ----------------------------------------

Press enter to exit ...

Поставили на сервер как есть, пошли логи с ошибками.
Cкрытый текст
L 12/18/2016 - 05:49:43: Start of error session.
L 12/18/2016 - 05:49:43: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20161218.log")
L 12/18/2016 - 05:49:43: [AMXX] Displaying debug trace (plugin "yet_another_spamguard.amxx", version "1.2")
L 12/18/2016 - 05:49:43: [AMXX] Run time error 4: index out of bounds
L 12/18/2016 - 05:49:43: [AMXX] [0] yet_another_spamguard.sma::task_read_files (line 140)


Отредактировал: umic, - 18.12.2016, 5:01
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
6 страниц V  « 5 6
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: