=== eDarpan: Website Protection === Contributors: edarpan Plugin URI: http://www.edarpan.com/pages/wordpress-protection Author URI: http://www.edarpan.com/pages/wordpress-protection Donate link: http://www.edarpan.com/pages/donate Tags: security, ip blocker, content protection, disable right click, country blocker Requires at least: 5.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 11.1 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html The most complete website protection plugin for WordPress. Block IPs, disable right-click, prevent copy-paste, block countries, stop spam comments, and protect your content from theft. == Description == **eDarpan: Website Protection** is a powerful all-in-one security and content protection plugin for WordPress. It prevents content theft, blocks malicious IPs, restricts access by country, and stops spam — all from a single, easy-to-use dashboard. Whether you're a blogger protecting original content, an eCommerce store owner securing product descriptions, or a business safeguarding proprietary information — this plugin has you covered. = 🛡️ Content Protection = * **Disable Text Selection** — Prevent visitors from highlighting and copying your text content * **Disable Right Click** — Block the browser context menu to stop "Save Image As" and "View Source" * **Block Keyboard Shortcuts** — Disable Ctrl+C, Ctrl+V, Ctrl+X, Ctrl+A, Ctrl+U, Ctrl+S, Ctrl+P, F12, Ctrl+Shift+I/J/C and all macOS equivalents (Cmd+Option+I/J/U) * **Disable Image Dragging** — Prevent images from being dragged and saved to desktop * **Block Developer Tools** — Stop users from opening browser DevTools (F12, Ctrl+Shift+I, Cmd+Option+I) * **SEO Friendly** — All protections are JavaScript-based; search engine crawlers can still index your content normally = 🚫 IP Address Blocker = * **Block/Allow IP Addresses** — Full IP blocklist and allowlist management with WordPress native table UI * **Wildcard IP Support** — Block entire IP ranges using wildcards (e.g., 123.12.*.*, 192.168.1.*) * **Permanent & Temporary Blocking** — Set time-based blocks with start/end date-time picker * **Intranet Mode** — Restrict your entire site to specific IPs only (Closed User Group) * **Auto IP Blocking** — Automatically block IPs that exceed a configurable hit threshold * **Block at Login Screen** — Extend IP blocking to wp-login.php * **Custom Block Actions** — Show custom message, display blank page, or redirect blocked visitors to any URL * **Per-Entry Actions** — Set different block responses for each IP entry * **Email Notifications** — Get notified when an IP is auto-blocked = 🌍 Country Blocker = * **Block Countries by Geo-IP** — Select from 195+ countries to block visitors by geographic location * **A-Z Country List** — Easy checkbox interface grouped alphabetically with Check All / Uncheck All * **Cached Lookups** — Geo-IP results are cached for 24 hours for optimal performance = 🔗 URL & Category Blocking = * **Block Specific URLs** — Restrict access to specific pages or posts by URL * **Block Categories** — Block entire WordPress categories from public access * **Flexible Actions** — Each blocked URL/category can have its own custom message or redirect = 💬 Comment & Spam Protection = * **Spam Word Filter** — Block comments containing specific words or phrases * **Auto-Delete or Mark as Spam** — Choose to permanently delete spam or just mark it * **Disable Pingbacks & Trackbacks** — Stop pingback/trackback spam at the source = 📦 Import & Export = * **CSV Import** — Bulk import IP addresses from CSV files * **CSV Export** — Export your blocklist/allowlist for backup or migration * **Download Sample CSV** — Get a ready-to-use template for importing = ⚡ Additional Features = * **Lightweight & Fast** — No bloat, minimal database queries, zero impact on page load speed * **WordPress Native UI** — Uses WP_List_Table for familiar admin experience with sorting, searching, pagination, and bulk actions * **Multisite Compatible** — Works on WordPress multisite installations * **Translation Ready** — Fully internationalized with text domain support * **Regular Updates** — Actively maintained and tested with latest WordPress versions * **Attribution Option** — Optionally display "Protected by eDarpan" badge on your site = 🎯 Who Is This For? = * **Bloggers & Writers** — Protect original articles from content scrapers * **Photographers & Artists** — Prevent image theft and unauthorized downloads * **eCommerce Stores** — Secure product descriptions and pricing information * **Membership Sites** — Restrict content access by IP or country * **Corporate Websites** — Intranet mode for internal-only access * **Agencies** — Manage multiple client sites with CSV import/export 👉 [Learn More](http://www.edarpan.com/pages/wordpress-protection) == Installation == 1. Upload the `wordpress-protection` folder to the `/wp-content/plugins/` directory, or install directly from the WordPress plugin repository. 2. Activate the plugin through the **Plugins** menu in WordPress. 3. Navigate to **eDarpan** > **Website Protection** in your admin sidebar. 4. Configure your protection settings on the **Protection** tab. 5. Manage IP blocking on the **IP Management** tab. == Frequently Asked Questions == = Will this plugin affect my SEO? = No. All content protection features use JavaScript, which means search engine crawlers (Google, Bing, etc.) can still read and index your content normally. Your SEO rankings will not be affected. = Can I block an entire range of IP addresses? = Yes. The plugin supports wildcard IP blocking. You can use patterns like `192.168.1.*`, `10.0.*.*`, or `123.*.*.*` to block entire IP ranges. = Will I lock myself out if I block my own IP? = No. The plugin never blocks WordPress admin pages. Even if your IP is in the blocklist, you can always access wp-admin to remove it. = Does country blocking slow down my site? = No. Geo-IP lookups are cached for 24 hours using WordPress transients. After the first lookup, subsequent page loads for the same visitor have zero additional overhead. = Can I use this on a multisite installation? = Yes. The plugin is compatible with WordPress multisite. Each site in the network can have its own protection settings. = What happens when a visitor is blocked? = You have three options: display a custom message, show a blank page, or redirect to any URL. You can set a global default and also override it per IP entry. = Can I import my existing IP blocklist? = Yes. Use the CSV import feature. The format is simple: `ip_address, list_type, notes`. Download the sample CSV from the Import/Export tab to see the exact format. = Is the plugin compatible with caching plugins? = Yes. Since IP blocking happens at the PHP level before any page output, it works correctly with all popular caching plugins (WP Super Cache, W3 Total Cache, LiteSpeed Cache, etc.). = Does it work with Cloudflare? = Yes. The plugin detects the real visitor IP from Cloudflare's `CF-Connecting-IP` header, so blocking works correctly even behind Cloudflare's CDN/proxy. == Screenshots == 1. Protection Settings — Enable text selection blocking, right-click protection, and keyboard shortcut blocking 2. IP Management — WordPress native table with search, filter, sort, and bulk actions 3. Add New Entry — Block by IP address, category, or URL with flexible block/exclude options 4. Configuration — Auto-blocking, intranet mode, email notifications, and global block actions 5. Country Blocker — Select from 195+ countries with A-Z grouped interface 6. Comments/Spam — Filter spam words and disable pingbacks/trackbacks 7. Import & Export — CSV import/export with sample file download 8. Block Page — Custom message shown to blocked visitors with optional attribution == Changelog == = 11.1 = * Added: Full IP Blocker with wildcard support, temporary blocks, and per-entry actions * Added: Country Blocker with 195+ countries and geo-IP caching * Added: URL and Category blocking * Added: Auto IP blocking with configurable hit threshold * Added: Intranet Mode (Closed User Group) * Added: Comment spam filtering with word-based blocking * Added: Disable pingbacks/trackbacks option * Added: Email notifications for auto-blocked IPs * Added: Custom block messages and redirect options * Added: CSV import/export with sample file * Added: Block at login screen option * Improved: Full keyboard shortcut blocking (F12, DevTools, Copy, Paste, Cut, Save, Print) * Improved: Image drag protection * Improved: IPv6 loopback normalization * Improved: Proxy/Cloudflare IP detection = 9.1 = * Added: Multi-language support with full i18n = 9.0 = * Compliance update (renamed from WordPress Protection) * Modern architecture refactor with namespaces * Contributor update = 8.0 = * Compatible with latest browsers and WordPress 4.7.5 = 7.2.1 = * Added plugin logo assets * Compatibility check up to WordPress 4.0+ = 7.2 = * Resolved JS conflicts reported on newer WordPress versions = 7.0 = * Bug fixes = 6.0 = * Added compatibility with latest browser versions * Removed conflicting option = 5.0 = * Added keyboard shortcut blocking feature = 4.0 = * Added settings link, asset banner, compact code for faster loading * UI improvements = 3.0 = * jQuery conflict resolved * Footer alignment bug fixed * Improved user-friendliness = 2.0 = * Added admin panel option display when plugin is not configured = 1.0 = * Initial release == Upgrade Notice == = 11.1 = Major update: Full IP Blocker, Country Blocker, Spam Protection, Auto-Blocking, and many more features added.