IP Geo Block
The more you install themes and plugins, the more likely your sites will be vulnerable, even if you securely harden your sites. While WordPress.org provides excellent resources, themes and plugins may often get vulnerable due to developers’ human factors such as lack of security awareness, misuse and disuse of the best practices in those resources. This plugin focuses on insights into such developers’ human factors instead of detecting the specific attack vectors after they were disclosed. This brings a smart and powerful methods named as “WP Zero-day Exploit Prevention” and “WP Metadata Exploit Protection“. Combined with those methods and IP address geolocation, you’ll be surprised to find a bunch of malicious or undesirable access blocked in the logs of this plugin after several days of installation. Features Privacy by design: IP address is always encrypted on recording in logs/cache. Moreover, it can be anonymized and restricted on sending to the 3rd parties such as geolocation APIs or whois service. Immigration control: Access to the basic and important entrances into back-end such as wp-comments-post.php, xmlrpc.php, wp-login.php, wp-signup.php, wp-admin/admin.php, wp-admin/admin-ajax.php, wp-admin/admin-post.php will be validated by means of a country code based on IP address. It allows you to configure either whitelist or blacklist to specify the countires, CIDR notation for a range of IP addresses and AS number for a group of IP networks. Zero-day Exploit Prevention: Unlike other security firewalls based on attack patterns (vectors), the original feature “WordPress Zero-day Exploit Prevention” (WP-ZEP) is focused on patterns of vulnerability. It is simple but still smart and strong enough to block any malicious accesses to wp-admin/*.php, plugins/*.php and themes/*.php even from the permitted countries. It will protect your site against certain types of attack such as CSRF, LFI, SQLi, XSS and so on, even if you have some vulnerable plugins and themes in your site. Guard against login attempts: In order to prevent hacking through the login form and XML-RPC by brute-force and the reverse-brute-force attacks, the number of login attempts will be limited per IP address even from the permitted countries. Minimize server load against brute-force attacks: You can configure this plugin as a Must Use Plugins so that this plugin can be loaded prior to regular plugins. It can massively reduce the load on server. Prevent malicious down/uploading: A malicious request such as exposing wp-config.php or uploading malwares via vulnerable plugins/themes can be blocked. Block badly-behaved bots and crawlers: A simple logic may help to reduce the number of rogue bots and crawlers scraping your site. Support of BuddyPress and bbPress: You can configure this plugin so that a registered user can login as a membership from anywhere, while a request such as a new user registration, lost password, creating a new topic and subscribing comment can be blocked by country. It is suitable for BuddyPress and bbPress to help reducing spams. Referrer suppressor for external links: When you click an external hyperlink on admin screens, http referrer will be eliminated to hide a footprint of your site. Multiple source of IP Geolocation databases: MaxMind GeoLite2 free databases (it requires PHP 5.4.0+) and IP2Location LITE databases can be installed in this plugin. Also free Geolocation REST APIs and whois information can be available for audit purposes. Father more, dedicated API class libraries can be installed for CloudFlare and CloudFront as a reverse proxy service. Customizing response: HTTP response code can be selectable as 403 Forbidden to deny access pages, 404 Not Found to hide pages or even 200 OK to redirect to the top page. You can also have a human friendly page (like 404.php) in your parent/child theme template directory to fit your site design. Validation logs: Validation logs for useful information to audit attack patterns can be manageable. Cooperation with full spec security plugin: This plugin is lite enough to be able to cooperate with other full spec security plugin such as Wordfence Security. See this report about page speed performance. Extendability: You can customize the behavior of this plugin via add_filter() with pre-defined filter hook. See various use cases in samples.php bundled within this package. You can also get the extension IP Geo Allow by Dragan. It makes admin screens strictly private with more flexible way than specifying IP addresses. Self blocking prevention and easy rescue: Website owners do not prefer themselves to be blocked. This plugin prevents such a sad thing unless you force it. And futhermore, if such a situation occurs, you can rescue yourself easily. Clean uninstallation: Nothing is left in your precious mySQL database after uninstallation. So you can feel free to install and activate to make a trial of this plugin’s functionality. Attribution This package includes GeoLite2 library distributed by MaxMind, available from MaxMind (it requires PHP 5.4.0+), and also includes IP2Location open source libraries available from IP2Location. Also thanks for providing the following great services and REST APIs for free. http://ip-api.com/ (IPv4, IPv6 / free for non-commercial use) http://geoiplookup.net/ (IPv4, IPv6 / free) https://ipinfo.io/ (IPv4, IPv6 / free) [https://ipapi.com/](https://ipapi.com/ “ipapi – IP Address Lookup and Geolocation API) (IPv4, IPv6 / free, need API key) https://ipdata.co/ (IPv4, IPv6 / free, need API key) https://ipstack.com/ (IPv4, IPv6 / free for registered user, need API key) https://ipinfodb.com/ (IPv4, IPv6 / free for registered user, need API key) Development Development of this plugin is promoted at WordPress-IP-Geo-Block and class libraries to handle geo-location database are developed separately as “add-in”s at WordPress-IP-Geo-API. All contributions will always be welcome. Or visit my development blog. Known issues No image is shown after drag & drop a image in grid view at “Media Library”. For more details, please refer to this ticket at Github. From WordPress 4.5, rel=nofollow had no longer be attached to the links in comment_content. This change prevents to block “Server Side Request Forgeries” (not Cross Site but a malicious internal link in the comment field). WordPress.com Mobile App can’t execute image uploading because of its own authentication system via XMLRPC.
Top keywords
- php15×1.46%
- ip10×0.97%
- ipv47×0.68%
- ipv4 ipv67×0.68%
- ipv67×0.68%
- api6×0.58%
- com6×0.58%
- https6×0.58%
- site6×0.58%
- address5×0.49%
- even5×0.49%
- geolocation5×0.49%
Security Plugin, Firewall & Malware Scanner with Auto Removal
Brute force, Login security & Two Factor Auth (2FA). Limit login. Malware & Vulnerabilities scan. FireWall. Enterprise ready security plugin. SECURITY PLUGIN BY CLEANTALK (SPBCT) We focus on eliminating the most common security threats for WordPress. At the same time, we strive to ensure that site performance remains unaffected. To achieve this, each release goes through automated and expert-driven testing pipelines. We also verify performance using Google PageSpeed Insights and GTMetrix. Typically, we release a new version twice a month to keep features up to date and protection strong. SECURITY FEATURES Limit Login Attempts and rate limits for logins. Two Factor Authentication (2FA) Custom wp-login URL (wp-login.php) Hide Login Default Login Page Disable or Stop User Enumeration Brute force protection for WordPress accounts and passwords Security Protection for WordPress login form Security FireWall by IP, Networks, or Countries Web Application Firewall (WAF) Real-time traffic monitor (Visitors per pages, IPs, Countires and hits counts per page) Malware scanner with auto-cure function Daily auto malware scan Vulnerabilities scanner among installed plugins and themes Security weekly reports to email Notifications of login events to your website FREE TRIAL THEN $9 PER YEAR CleanTalk is a Cloud security service that protects your website from online threats and provides you great security instruments to control your website security. We provide detailed security stats for all of our security features to have a full control of security. We believe the most honest approach is when every user pays a small fee for using the service, rather than relying on a freemium model where some users subsidize others. The fee is as low as price of a good cup of coffee! So, the security plugin does not have a PRO version-it is completely free and works in combination with our premium Cloud security service at cleantalk.org. Every user has full access to all features of both the service and the plugin. Also, please take a note about WordPress.org policy BRUTE FORCE PROTECTION Our default anti–brute-force policy works as follows, For any failed login attempt to the WordPress admin area, the plugin introduces a brief delay of a few seconds. The plugin reviews the security audit log every hour. If any IP address records 10 or more login attempts in that period, it will be blocked for 24 hours. ALL BRUTE FORCE PROTECTION FUNCTIONS Maximum failed attemtps to login before ban (default is 5). A failed attempt happens when either the login or password is incorrect. Time frame to count login attempts (default is 15 minutes). Ban to login time frame from 2 minutes to 24 hours (default is 1 hour). Two-factor authentication (2FA) with abillity to apply policy to specific users roles. Prevent collecting of login on password reset error. The option exclude the info about the login existing on password change error. Error message will be replaced with followed text: “If the user with the specified credentials exists, check your email for the password reset confirmation link. Then visit login page.” Security Audit Log. Keeps track of actions in the WP Dashboard to let you know what is happening on your blog. With the Security Audit Log is very easy to see user activity in order to understand what changes have done and who made them. Security Audit Log shows who logged in and when and how much time they spent on each page. Two Factor Authentication (2FA). It requires a bit of your time but Two Factor (2 Step) Authentication immediately gives a much higher level of security.With your first authorization, the CleanTalk Security plugin remembers your browser and you won’t have to input your authorization code every time anymore. However, if you started to use a new device or a new browser then you are required to input your security authorization code. CleanTalk security plugin will remember your browser for 30 days. Change the URL of the wp-login page. This option helps you change the default wp-login URL (wp-login.php). Hackers use scripts for massive brute-force attacks, and since most sites use a default login page URL, hackers configure scripts for such URLs. When you change the URL of the authorization page, hackers will not have the opportunity to perform brute-force attacks in scripts in automatic mode. This option does not change files and does not rewrite URLs in system files. To return the address of the default authorization page, it is enough to disable the option in the plugin settings or set a new value. If you are using caching plugins, then you need to add a new authorization page in the caching exceptions. Leaked password check. This feature enhances your website’s security by continuously monitoring users’ passwords for potential exposure in known data breaches and on the dark web. It works in the background and requires no action from users unless a leak is detected. SECURITY FIREWALL To enhance the security of your site, you can use the CleanTalk Security FireWall, which will allow you to block access by HTTP/HTTPS to your website for individual IP addresses, IP networks and block access to users from specific countries. Use personal BlackList to block IP addresses with a suspicious activity to enhance the WordPress security. Security FireWall may significantly reduce the risk of hacking and reduces the load on your web server. CleanTalk Security is fully compatible with the most popular VPN services. Also, CleanTalk security supports all search engines Google, Bing, Yahoo, Baidu, MSN, Yandex, and etc. LIST OF FIREWALL FUNCTIONS Blocks or bypass visitors by IP, IP Network. Country blocking. It also has option to avoid blocking hits from major search engines like Google, Bing, Yahoo, Baidu, Yandex, and etc. Traffic control. CleanTalk security Traffic Control will track every single visitor no matter if they are using JavaScript or not and provides many valuable traffic parameters. Another option in Security Traffic Control – “Block user after requests amounts more than” – blocks access to the site for any IP that has exceeded the number of HTTP requests per hour. If this number of requests will be exceeded, this IP will be added to the Security FireWall Black List for 24 hours. Security Firewall has a limit for requests to your website (by default 1000 requests per hour, so you can change it) and if any IP exceed this threshold it will be added to security firewall for next 24 hours. It allows you to break some of the DDoS attacks. Limit Login Attempts. Limit Login Attempts – is a part of brute-force protection and security firewall. Web Application FireWall (WAF) for WordPress Security Plugin. The main purpose of Web Application FireWall (WAF) is real-time protection from unauthorized access, even if there are critical known/unknown vulnerabilities. Security Web Application FireWall catches all requests to your website and checks HTTP parameters that include, SQL Injection, Cross Site Scripting (XSS), uploading files from non-authorised users, PHP constructions/code, the presence of malicious code in the downloaded files. In addition to effective information security and information security applications are required to know what is quality of protection and CleanTalk Security has logged all blocked requests that allow you to know and analyze accurate information. You can see your Cleantalk Security Logs in your Dashboard CleanTalk’s research team updates WAF database each time as we find a vulnerability, it means plugin’s users get protection even against unpublished vulnurebilites. Learn more how to set up and test About Security Web Application Firewall Email Notifications when administrators or users are logged in. We added this option to our security plugin. Now you can receive notifications if you want to know about an unauthorized entrance to your WP Dashboard. Notification will be sent only when a user was able to authorize entering login and password. If you are logged into the admin panel from the saved session, then the alert won’t be sent. MALWARE SCANNER WITH AUTO-CURE FUNCTION Scans WordPress files for hacker files or code for hacker code. Performs antivirus functions. Security Malware Scanner runs manually by users requests or automaticaly by WordPress cron. All of the results will send in your Security CleanTalk Dashboard with the details and you will be able to investigate them and see if that was a legitimate change or some bad code was injected. If you are unsure how to identify, remove, or clean malware using the plugin, you can book a malware removal service with our Security & Pentest team. As an alternative, you can use the Website Malware Scanner for frontend security and malware checks. It scans by URL and requires no plugins. LIST OF MALWARE SCANNER, ANTIVIRUS FUNCTIONS Malware autoscanning. Scans the website automatically at intervals ranging from once every 12 hours to once every 30 days. Cure malware. It cures infected files automatically if the scanner knows cure methods for these specific cases. If the option is disabled then when the scanning process ends you will be presented with several actions you can do to the found files, Cure. Malicious code will be removed from the file. Replace. The file will be replaced with the original file. Delete. The file will be put in quarantine. Do nothing. Before any action is chosen, backups of the files will be created and if the cure is unsuccessful it’s possible to restore each file. Security Malware Heuristic Check. This option allows you to check files of plugins and themes with heuristic analysis. Probably it will find more than you expect. Security Malware scanner to find SQL Injections. The CleanTalk Security Malware Scanner allows you to find code that allows performing SQL injection. It is this problem that the scanner solves. Operating system cron tasks analysis. This functional provides an overview of scheduled cron jobs on server that perform automated tasks. DB Trigger analysis. Will search for known malicious signatures in database triggers. List unknown files. Shows the list of found unknown files in the malware scanner report. Unknown files do not have known virus signatures and do not have suspicious code. Meanwhile, unknown files do not belong to the public plugins and themes at wordpress.org. File System Watcher. File system Watcher monitors changes in the file system. This allows to quickly respond to a site infection by tracking which files were affected. The Watcher makes file system snapshots as often as one hour and show difference up to seven days time frame. Feedback System. If you don’t have programming experience and don’t know, is there security issue or not, you send some files to CleanTalk Cloud and we check them for malware code. After checking we send you an email notification with results, is there viruses or not. Please, look at our guide How malware file analysis works About Scanner Feedback System LIST OF THE MOST ACTIVE MALWARES BY FILENAMES radio.php admin-ajax.php .1235512.css 8sjdakSJ3.php wso.php cmd.php shell.php reverse_shell.php admin.php The list is actual on July 15th, 2025. The latest data is the article Is my site infected? VULNERABILITIES SCANNER AMONG INSTALLED PLUGINS AND THEMES Plugin checks installed plugins and themes for known (published) vulnerabilities. If finds vulnerable plugin/theme, it sends an Email notification and shows data in the Critical updates tab. List of the most recent vulnerabilities found and published by CleanTalk Research team, CVE-2025-5921 – SureForms – Unauthenticated XSS – POC, 200k+ installs. CVE-2025-3582 – Newsletter – Stored XSS to JS Backdoor Creation – POC, 300k+ installs. CVE-2025-2560 – Ninja Forms – Stored XSS to JS Backdoor Creation – POC, 700k+ installs. The list is effective on July 18th, 2025. Updates are avaible on https://research.cleantalk.org/. MISCELLANEOUS SECURITY OPTIONS Send additional HTTP headers option. There are several additional http-headers which added to the every http-requests by the plugin if this option is enabled: “X-Content-Type-Options” improves the security of your site (and your users) against some types of drive-by-downloads. “X-XSS-Protection” header improves the security of your site against some types of XSS (cross-site scripting) attacks. “Strict-Transport-Security” response header (often abbreviated as HSTS) informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. “Referrer-Policy” make the Referer http-header transferring more strictly. Collect and send PHP logs. Collect and send PHP error logs to your CleanTalk Dashboard where you can list them. Prevent collecting of authors logins. Prevent visitors from collecting logins of the content authors from the website links (like example.com/?author=1). Also this function known as Stop User Enumeration. Prevent collecting of user login on password reset. The password reset error will not contain the data about selected username does not exist. Disable REST API for non-authenticated users. Turn this on to deny access to WordPress REST API for non-authenticated users. Denied requests will get a 401 HTTP Code (Unauthorized). Disable the WordPress endpoint “users” REST API. Disables access to /wp-json/wp/v2/users and /wp-json/wp/v2/users/”id_user”. Disable File Editor. By prohibiting file editing, you protect the site from malicious attacks that may try to change the code and gain access to the site or steal confidential information. TRANSLATE INTO YOUR LANGUAGE Thank you for helping translate the plugin! 感谢您帮助翻译这个插件! (Gǎnxiè nín bāngzhù fānyì zhège chājìan!) प्लगइन का अनुवाद करने में मदद के लिए धन्यवाद! (Plugin ka anuvaad karne mein madad ke liye dhanyavaad!) ¡Gracias por ayudar a traducir el complemento! Merci d’avoir aidé à traduire le plugin ! شكرًا لمساعدتك في ترجمة الإضافة! (Shukran limusaa’adatika fi tarjamat al-idafa!) প্লাগইন অনুবাদে সাহায্য করার জন্য ধন্যবাদ! (Plug-in onubade shahajjo korar jonno dhonnobad!) Спасибо за помощь в переводе плагина! (Spasibo za pomoshch v perevode plagina!) Obrigado por ajudar a traduzir o plugin! (Obrigada if female) پلگ ان کا ترجمہ کرنے میں مدد کرنے کا شکریہ! (Plug-in ka tarjuma karne mein madad karne ka shukriya!) Terima kasih telah membantu menerjemahkan plugin! Danke, dass du beim Übersetzen des Plugins geholfen hast! プラグインの翻訳を手伝ってくれてありがとうございます! (Puraguin no hon’yaku o tetsudatte kurete arigatou gozaimasu!) https://translate.wordpress.org/projects/wp-plugins/security-malware-firewall/