=== 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.
