Secure Video Locker for WooCommerce
A WordPress plugin that provides secure video streaming for WooCommerce products, preventing unauthorized downloads while maintaining a great user experience.
by SPARKWEB Studio · github.com/spkcd/woo-secure-video-locker · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/spkcd/woo-secure-video-locker/archive/refs/heads/main.zipA WordPress plugin that provides secure video streaming for WooCommerce products, preventing unauthorized downloads while maintaining a great user experience.
🔒 Features
Core Security Features
- Secure Video Streaming: Delivers videos through temporary, signed URLs that expire automatically
- Anti-Download Protection: Multiple layers of security to prevent video downloads:
- Chunked video delivery
- Right-click protection
- Keyboard shortcut blocking
- DevTools detection
- Custom HTTP headers
- User-specific watermarking
- Rate Limiting: Prevents abuse through request limiting
📊 NEW: Video Analytics & Monitoring (v1.1.0)
- Comprehensive Analytics Dashboard: Track video performance with detailed statistics
- Automatic View Tracking: Every video stream is recorded with user, device, and session data
- Interactive Charts: Visual analytics with Chart.js integration
- Real-time Statistics: Views, unique viewers, watch time, and completion rates
- Device & Browser Analytics: Automatic detection and tracking of user devices
- CSV Export: Export analytics data for external analysis
- Frontend Display: Show video statistics on product pages and posts
- Shortcode Support: Display video stats anywhere with simple shortcodes
Integration & Management
- WooCommerce Integration: Seamlessly connects with WooCommerce products
- User Dashboard: Customers can access purchased videos from their account
- Admin Controls: Easy video upload and management with analytics
- Mobile-Friendly: Works on all devices with responsive analytics
- Large File Support: Chunked upload system for videos up to 2GB
📋 Requirements
- WordPress 5.8+
- WooCommerce 5.0+
- PHP 7.4+
- Modern browser with HTML5 video support
🚀 Installation
- Download the plugin ZIP file
- Go to WordPress Admin > Plugins > Add New
- Click "Upload Plugin" and select the ZIP file
- Activate the plugin
- Create a directory at
wp-content/private-videosand ensure it has proper write permissions
Manual Installation
- Upload the plugin files to the
/wp-content/plugins/woo-secure-video-lockerdirectory - Activate the plugin through the 'Plugins' screen in WordPress
- Create a directory at
wp-content/private-videosand ensure it has proper write permissions
⚙️ Configuration
Adding Videos to Products
- Create or edit a WooCommerce product
- Scroll down to the "Video Settings" meta box
- Upload a video file (supports files up to 2GB with chunked upload)
- Add a description (optional)
- Save the product
Video Analytics Dashboard
Access comprehensive video analytics:
- Go to WooCommerce > Video Analytics
- View summary statistics and interactive charts
- Click "View Details" on any video for detailed analytics
- Export data as CSV for external analysis
- Use shortcodes to display stats on frontend
Frontend Shortcodes
Display video statistics anywhere on your site:
// Simple view count
[wsvl_video_views slug="your-video-slug"]
// View count with text format
[wsvl_video_views slug="your-video-slug" format="text"]
// Badge style display
[wsvl_video_views slug="your-video-slug" format="badge"]
// Comprehensive statistics
[wsvl_video_stats slug="your-video-slug" show_views="true" show_unique="true"]
Security Settings
The plugin comes pre-configured with optimal security settings, but you can modify:
- Go to WooCommerce > Settings > Products > Video Locker
- Adjust security levels and options
- Save changes
🎬 How It Works
For Customers
- Customers purchase video products through WooCommerce
- Once purchased, videos appear in their account dashboard under "My Videos"
- Customers can stream videos securely without being able to download them
- Each video stream includes a watermark with the customer's email address
For Admins
- Upload videos directly to products (up to 2GB with chunked upload)
- Track video access through comprehensive analytics dashboard
- Monitor video performance with real-time statistics
- Export analytics data for reporting and analysis
- Manage all aspects of video security
Technical Details
The plugin implements multiple layers of protection:
-
Server-side Protection:
- Signed URLs with short expiration times
- Chunked video delivery
- Content-Security-Policy headers
- Rate limiting to prevent abuse
- Access logging
-
Client-side Protection:
- JavaScript barriers to prevent downloading
- Custom video controls
- Watermarking with customer identification
- DevTools detection
🛡️ Security Considerations
While this plugin implements multiple layers of protection, no system can provide 100% security against determined attackers. The plugin focuses on preventing casual copying by typical users while maintaining a good viewing experience.
For absolute security of extremely valuable content, consider additional DRM solutions or streaming services that specialize in high-security media delivery.
📝 Documentation
- CHANGELOG.md - Version history and changes
- ANALYTICS.md - Complete video analytics documentation
📜 License
This project is licensed under the GPLv2 or later - see the LICENSE file for details.
👥 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details on how to contribute.
🤝 Support
For support, please:
- Check the documentation
- Visit the support forum
- For premium support, contact us at support@sparkwebstudio.com
🔗 Related
Built with ❤️ for the WordPress community