concrete5 Environment Information
# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version - 20200609145307
# Database Information
Version: 10.3.28-MariaDB
SQL Mode: STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# concrete5 Packages
Anti-Spammer Master (1.0.4), ExchangeCore reCAPTCHA (1.1.1), Hidden Data Attributes for Express (2.0.3)
# concrete5 Overrides
blocks/autonav/templates/leftMenu/view.css, blocks/autonav/templates/leftMenu/view.js, blocks/autonav/templates/leftMenu/view.php, blocks/autonav/templates/leftMenu, blocks/autonav/templates, blocks/autonav/view.php, blocks/autonav, blocks/image_slider/templates/full/view.css, blocks/image_slider/templates/full/view.js, blocks/image_slider/templates/full/view.php, blocks/image_slider/templates/full, blocks/image_slider/templates/hipaa/view.css, blocks/image_slider/templates/hipaa/view.js, blocks/image_slider/templates/hipaa/view.php, blocks/image_slider/templates/hipaa/arrows.png, blocks/image_slider/templates/hipaa, blocks/image_slider/templates, blocks/image_slider/view.css, blocks/image_slider/view.js, blocks/image_slider/view.php, blocks/image_slider, blocks/next_previous/view.php, blocks/next_previous/templates/list_style/view.php, blocks/next_previous/templates/list_style, blocks/next_previous/templates, blocks/next_previous, blocks/page_list/templates/thumbnail_grid/view.css, blocks/page_list/templates/thumbnail_grid/view.php, blocks/page_list/templates/thumbnail_grid/blog-clock.png, blocks/page_list/templates/thumbnail_grid, blocks/page_list/templates/blockquote_grid/view.php, blocks/page_list/templates/blockquote_grid, blocks/page_list/templates/directory_grid/view.css, blocks/page_list/templates/directory_grid/view.php, blocks/page_list/templates/directory_grid, blocks/page_list/templates/state_map/view.php, blocks/page_list/templates/state_map/css/jsmaps.css, blocks/page_list/templates/state_map/css, blocks/page_list/templates/state_map/js/b-jsmaps.min.js, blocks/page_list/templates/state_map/js, blocks/page_list/templates/state_map, blocks/page_list/templates, blocks/page_list/unneeded_files/add.php, blocks/page_list/unneeded_files/auto.js, blocks/page_list/unneeded_files/controller.php, blocks/page_list/unneeded_files/db.xml, blocks/page_list/unneeded_files/edit.php, blocks/page_list/unneeded_files/icon.png, blocks/page_list/unneeded_files/page_list_form.php, blocks/page_list/unneeded_files/rss.png, blocks/page_list/unneeded_files/view.css, blocks/page_list/unneeded_files/view.php, blocks/page_list/unneeded_files/tools/preview_pane.php, blocks/page_list/unneeded_files/tools, blocks/page_list/unneeded_files, blocks/page_list/controller.php, blocks/page_list, mail/block_express_form_submission.php, mail/block_form_submission.php, single_pages/page_not_found.php, themes/dentalbroker/blog_entry.php, themes/dentalbroker/css/handicap.css, themes/dentalbroker/css/main.css, themes/dentalbroker/css, themes/dentalbroker/default.php, themes/dentalbroker/description.txt, themes/dentalbroker/elements/footer.php, themes/dentalbroker/elements/header.php, themes/dentalbroker/elements, themes/dentalbroker/full.php, themes/dentalbroker/home-pop-up.php, themes/dentalbroker/home.html, themes/dentalbroker/home.php, themes/dentalbroker/images/clear.png, themes/dentalbroker/images/clear_34_16x3.png, themes/dentalbroker/images/clear_45_16x4.png, themes/dentalbroker/images/clear_50_32x9.png, themes/dentalbroker/images/clear_56_16x5.png, themes/dentalbroker/images/clear_67_16x6.png, themes/dentalbroker/images/clear_78_16x7.png, themes/dentalbroker/images/clear_89_16x8.png, themes/dentalbroker/images/clear_full_16x9.png, themes/dentalbroker/images/contact-email.png, themes/dentalbroker/images/contact-phone.png, themes/dentalbroker/images/handicap-symbol-hover.png, themes/dentalbroker/images/handicap-symbol.png, themes/dentalbroker/images/hot-btn-buyers.png, themes/dentalbroker/images/hot-btn-contact-broker.png, themes/dentalbroker/images/hot-btn-DSO.png, themes/dentalbroker/images/hot-btn-loan-calculator.png, themes/dentalbroker/images/hot-btn-sellers.png, themes/dentalbroker/images/hot-btn-value-practice.png, themes/dentalbroker/images/icon_email.png, themes/dentalbroker/images/icon_facebook.png, themes/dentalbroker/images/icon_twitter.png, themes/dentalbroker/images/ico_blog.png, themes/dentalbroker/images/ico_facebook.png, themes/dentalbroker/images/ico_google.png, themes/dentalbroker/images/ico_twitter.png, themes/dentalbroker/images/ico_youtube.png, themes/dentalbroker/images/logo.png, themes/dentalbroker/images/map.png, themes/dentalbroker/images/menu-selected.jpg, themes/dentalbroker/images/search_black.png, themes/dentalbroker/images/search_grey25.png, themes/dentalbroker/images/search_grey50.png, themes/dentalbroker/images/search_grey75.png, themes/dentalbroker/images/ico_email.png, themes/dentalbroker/images/ico_info.png, themes/dentalbroker/images/form-select-arrow.png, themes/dentalbroker/images/map_bg.jpg, themes/dentalbroker/images/blog-clock.png, themes/dentalbroker/images, themes/dentalbroker/scripts/accessible_menu.js, themes/dentalbroker/scripts/accordion.js, themes/dentalbroker/scripts/animate.js, themes/dentalbroker/scripts/pop_up_jquery_v1.3.2.js, themes/dentalbroker/scripts/stickyNav.js, themes/dentalbroker/scripts, themes/dentalbroker/left_sidebar.php, themes/dentalbroker/page_theme.php, themes/dentalbroker/right_sidebar.php, themes/dentalbroker/thumbnail.png, themes/dentalbroker/view.php, themes/dentalbroker/directory.php, themes/dentalbroker/broker.php, themes/dentalbroker
# concrete5 Cache Settings
Block Cache - On
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).
# Server Software
Apache
# Server API
fpm-fcgi
# PHP Version
5.6.40
# PHP Extensions
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imap, intl, ionCube Loader, json, ldap, libxml, mbstring, mcrypt, mhash, mysql, mysqli, mysqlnd, odbc, openssl, pcntl, pcre, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SourceGuardian, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib
# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 8M
sql.safe_mode - Off
upload_max_filesize - 2M
ldap.max_links - Unlimited
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 4000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5
Thank you for your kind words.
Concerning the Russian language: In the list of spammy keywords included with the package there are several hundred Russian expressions. I do not speak the language so I can't say more about it, but it will block some Russian.
It also will use concrete5 own bad words list so, as you suggested, you can add to it from the dashboard. Concrete5 doesn't do any translation so it will block only the exact characters you enter. TO be honest, in my experience, that stuff doesn't work really well but it does sometimes.
I was actually considering adding its own list of banned words to the package. Or I might make use of c5's list but filter it the way I do my own list, which is a more efficient way.
Lastly, in my experience, I found that 99% of spam will be flagged for reasons other than the words used. Either it was submitted too fast or the honey pot was filled. So with a bit of luck, you won't even need to flag the Russian language :)
Writing code to identify languages and block accordingly would be extremely difficult so that's probably not in the books.
If you're happy to block IP addresses from specific countries, you can easily do that from concrete5's dashboard. You can block a whole range of IP addresses so blocking a country is just a matter of banning the specific range for that country.
I considered adding the possibility to block spammers IPs. Not sure if I'll ever add it because given how spammers work your IP ban list will be pretty full pretty quick which might not be a great idea. But I'm thinking about it.
So in summary, since it's an option, I suggest you block Ip ranges of countries you don't want to allow. Or allow those you don't want to block. I think it's also a possibility. And then make sure to make good use of all the non-vocabulary-based spam blocking options, specifically the time to submission and the honey pot that, for me at least, block most spam attempts.