tinyShield – Simple. Focused. Security.

      Geen reacties op tinyShield – Simple. Focused. Security.


tinyShield works in four parts, a whitelist, a blacklist, a permanent whitelist, and a permanent blacklist. Both non-permanent white and black lists are rotating; when a visitor hits your website their IP address is compared to our ever evolving blacklist to see if they are known to be producing malicious traffic. If the visitor is determined to be a known malicious IP address, we add that to your sites local blacklist. If not, we add it to your local whitelist. An IP address on either of these two list will be rotated off in time. The whitelisted entries stay for a short period of time, while the blacklisted entries stay for 24 hours, and then will be re-checked upon their next attempt to connect to the site. The permanent white and black lists are up to you to populate. These are IP addresses that you know to be good or bad. Upon activation, we automatically add the IP address that you activate the plugin from to ensure you’re not locked out of the site. These lists are never automatically purged but you can remove entries yourself.

More importantly, our blacklist service includes the latest threats to WordPress sites and has a heavy focus on crowd sourced protection. Think herd immunity. The future of WordPress security is crowd sourced.



How do I gain access to the service?

tinyShield is made up of two components – the WordPress plugin and our servers. The plugin will not function correctly without registering with tinyShield. Registration can be done directly from the Settings tab of tinyShield. There is no cost for the community version of our real time blacklist. You have the option to upgrade to our professional list and gain access to a more comprehensive blacklist.

What is crowd sourced security?

tinyShield watches and reports back some information from your site in order to improve our community and premium feeds. For each site that uses tinyShield, even using the community feed, they will contribute back to help the other users of tinyShield.

How much does it cost?

There will never be a charge for the community version of this service. The professional subscription, billed annually based on how many sites you want to protect, will not only help support the project but also, automatically give you access to our more comprehensive feed that is crowd sourced.

What performance impact will this have on my site?

In our testing, we have noticed no performance issues while using the plugin. If for some reason our servers are unreachable, the plugin will fail open. This means that if our servers are down for any reason, your site will continue to work and utilize the local cached lists.


While tinyShield collects information from your site, we only collect the offending IP address, failed user login attempts, and the site the attempt was made on (as you can see from examination of the code). These items are only logged to determine patterns. No information we collect will EVER be sold or given to third parties.

This section will always be up-to-date with all information that is reported back to tinyShield. Also, we encourage you to review our source code for accurate information.

Is tinyShield compatible with other security plugins?

While tinyShield does not cause any known conflicts with other WordPress security plugins, and can work well alongside them as an extra layer of protection. It takes a very targeted approach to just real time blacklists. There are however, some plugins that are known to cause tinyShield to not operate normally. They are listed below.

  1. wp-spamshield

Banner Image Credit

Image credits to: https://unsplash.com/@matthewhenry


This section describes how to install the plugin and get it working.

  1. Upload the plugin files to the /wp-content/plugins/tinyShield directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Use the Settings-tinyShield screen to register and activate the plugin



  • [*] added permission checking on option updating
  • [*] removed some old code


  • [*] bug fixes with the permanent blacklist


  • [+] added the navigation tabs as menu items
  • [] fixed a regression that would not block ips found in the local blacklist or remotely looked up *doh


  • [+] added support for reporting user enumeration – enabled by default


  • [+] moved tinyShield to top level menu with icon (svg to come later)
  • [*] fixed several php notices
  • [*] moved geo_ip information for whitelist to paid subscription only due to cost


  • [+] added a user defined permanent blacklist
  • [*] changed the flow of the list checker to be more fluid


  • [+] added the ability to disable tinyshield functionality without deactivating the plugin
  • [*] changed the way the block functionality closes out to let other plugins use the functionality
  • [*] moved options updating to admin_init to ensure we are always working with the latest option set
  • [*] fixed some php notices
  • [-] removed geo blocking until all countries can be added on an optional basis


  • [+] added the ability to check outbound connections to compliment inbound. if outbound connections are found being blocked, it means your site is infected…
  • [*] changed the expires column on the activity page to direction to identify outbound and inbound connections


  • [+] changed the expiration date on perm whitelist to date added for clarity
  • [+] will not check against any list if the user is logged in


  • [+] added the ability to submit multiple ip addresses at one time to the perm whitelist
  • [*] fixed an issue when removing and adding entries to the perm whitelist would cause an entry to be deleted
  • [*] addressed a couple of notices and errors on activation [thanks vasyl martyniuk]


  • [*] fixed an issue with options saving when updating plugin


  • [+] added the feature to block top attacking countries
  • [*] fixed a time expiration bug on the whitelist
  • [*] fixed a time sorting issue


  • [*] fixed a expiration bug where whitelist entries would be checked every 24 hours, it should be every hour
  • [*] adjusted the author/website information


  • [+] added the ability to clear locally cached lists in case of issues
  • [+] added the ability to report a false positive from the activity log
  • [+] added location information to whitelist
  • [+] added the ability to register a site directly from the plugin
  • [*] reworked the settings page to be more streamlined
  • [*] fixed a potential fatal error if a wp_error is thrown on checking against endpoint
  • [*] fixed some issues with timestamps not being correct on last access and expirations


  • [+] added the ability to store the last time an IP address attempted to connect to the site
  • [+] changed the “Allowed” and “Blocked” text to emojis to make things a little more visually pleasing
  • [+] server side: moved crawler detection right after whitelist check to avoid crawlers being blacklisted
  • [+] server side: added the addition of a new ip source list and also removed one that provided a lot of false positives


  • [*] adjusted the whitelist expiration from 24 hours to 1 hour. If an attacker is blacklisted it will be caught much more quickly now.
  • [*] fixed a few small bugs
  • [+] added the ability to turn off reporting of failed logins
  • [+] server side: added some additional sources for comment spam and web crawlers


  • [*] fixed a display bug on the perm whitelist tab
  • [*] fixed a date expiring bug when activating tinyshield for the first time


  • [+] added the use of list tables for better visualization of the data
  • [+] added the use of geoip data to show where blacklisted ip addresses are from
  • [*] adjusted the data that is sent from the tinyshield servers to allow for expansion in the future
  • [+] added the ability to manipulate the lists from the list tables (ie, move from one to another)
  • [+] server side: added whitelists to prevent msnbots, googlebots, etc from being blacklisted by false positives
  • plus more


  • clarified site activation errors to not be so generic


  • initial point release