Skip to content

Commit 3dc6b6c

Browse files
authored
Initial Commit
Rolled this plugin out of the main repository to make it easier to maintain. Added many new security features.
1 parent b0c702c commit 3dc6b6c

3 files changed

Lines changed: 1201 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Changelog for EngineScript: Simple Site Exporter
2+
3+
## 1.5.7 - May 1, 2025
4+
### Security Enhancements
5+
- Implemented comprehensive file path validation function to prevent directory traversal attacks
6+
- Added referrer checks for download and delete operations
7+
- Enhanced file pattern validation with stronger regex patterns
8+
- Improved path display in admin interface using [wp-root] placeholder for better security
9+
- Added security headers to file download operations
10+
- Implemented strict comparison operators throughout the plugin
11+
- Consistently applied sanitization to nonce values before verification
12+
13+
### Code Improvements
14+
- Standardized input sanitization and validation across all user inputs
15+
- Enhanced error logging for security-related events
16+
- Applied path normalization for consistent security checks
17+
- Improved documentation with security considerations
18+
19+
## 1.5.6 - April 15, 2025
20+
### Features
21+
- Added more detailed logging for export operations
22+
- Improved error handling during file operations
23+
24+
### Bug Fixes
25+
- Fixed potential memory issues during export of large sites
26+
- Resolved a race condition in the scheduled deletion process
27+
28+
## 1.5.5 - March 2, 2025
29+
### Features
30+
- Added automatic deletion of export files after 1 hour
31+
- Implemented secure download mechanism through WordPress admin
32+
- Added ability to manually delete export files
33+
34+
### Improvements
35+
- Enhanced file export process with better error handling
36+
- Improved progress feedback during export operations
37+
38+
## 1.5.4 - February 10, 2025
39+
### Features
40+
- Added deletion request validation and confirmation
41+
- Implemented redirect after deletion with status notification
42+
43+
### Bug Fixes
44+
- Fixed database export issues on some hosting environments
45+
46+
## 1.5.3 - January 5, 2025
47+
### Features
48+
- Added manual export file deletion
49+
- Enhanced security for file operations
50+
51+
### Improvements
52+
- Better error handling for WP-CLI operations
53+
- Improved user interface with clearer notifications
54+
55+
## 1.5.2 - December 12, 2024
56+
### Features
57+
- Added WP-CLI integration for database exports
58+
- Implemented fallback methods for database exports
59+
60+
### Bug Fixes
61+
- Fixed ZIP creation issues on certain hosting environments
62+
63+
## 1.5.1 - November 15, 2024
64+
### Improvements
65+
- Enhanced ZIP file creation process
66+
- Improved handling of large files
67+
- Added exclusion for cache and temporary directories
68+
69+
## 1.5.0 - October 20, 2024
70+
### Initial Release
71+
- Basic site export functionality
72+
- Database and file export
73+
- Simple admin interface

README.md

Lines changed: 117 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,118 @@
11
# EngineScript Simple Site Exporter
2-
Exports the site files and database as a zip archive.
2+
3+
A WordPress plugin that exports your entire site, including files and database, as a secure, downloadable ZIP archive.
4+
5+
[![WordPress Compatible](https://img.shields.io/badge/WordPress-5.8%2B-blue.svg)](https://wordpress.org/)
6+
[![PHP Compatible](https://img.shields.io/badge/PHP-7.4%2B-purple.svg)](https://www.php.net/)
7+
[![License](https://img.shields.io/badge/License-GPL%20v3-green.svg)](https://www.gnu.org/licenses/gpl-3.0.html)
8+
9+
## Description
10+
11+
EngineScript Simple Site Exporter provides WordPress administrators with a straightforward, secure way to export their entire website. With a single click, you can create a complete backup of your site's files and database, perfect for site migrations, backups, or local development environments.
12+
13+
### Key Features
14+
15+
- **One-Click Export**: Create a complete site backup with just one click
16+
- **Database Export**: Includes a full database dump in your export
17+
- **Automatic Cleanup**: Exports are automatically deleted after 1 hour to save disk space
18+
- **Secure Downloads**: All exports use WordPress security tokens for protected access
19+
- **WP-CLI Integration**: Leverages WP-CLI for efficient database exports when available
20+
- **Export Management**: Download or manually delete export files as needed
21+
- **EngineScript Integration**: Natively works with EngineScript's LEMP server environment and site import tools
22+
23+
## EngineScript Integration
24+
25+
This plugin is designed to work seamlessly with the [EngineScript LEMP server](https://github.com/EngineScript/EngineScript) environment:
26+
27+
- **Native Integration**: Automatically detected and configured when running on an EngineScript server
28+
- **Compatible Exports**: All exports created with this plugin are directly compatible with EngineScript's site import tools
29+
- **Streamlined Migrations**: Export from any WordPress site and import directly to an EngineScript-powered server
30+
- **Optimized Performance**: When used on an EngineScript server, the plugin leverages server-optimized settings
31+
32+
The export format is specifically designed to work with EngineScript's site import functionality, allowing for seamless site migrations between WordPress installations.
33+
34+
## Installation
35+
36+
1. Download the plugin zip file
37+
2. Log in to your WordPress admin panel
38+
3. Go to Plugins → Add New
39+
4. Click the "Upload Plugin" button at the top of the page
40+
5. Choose the downloaded zip file and click "Install Now"
41+
6. After installation, click "Activate Plugin"
42+
43+
## Usage
44+
45+
### Creating a Site Export
46+
47+
1. Navigate to Tools → Site Exporter in your WordPress admin
48+
2. Click the "Export Site" button
49+
3. Wait for the export process to complete
50+
4. When finished, use the "Download Export File" button to save your backup
51+
52+
### Managing Export Files
53+
54+
- **Download**: Click the "Download Export File" button next to any export
55+
- **Delete**: Click "Delete Export File" to remove an export you no longer need
56+
- **Auto-Cleanup**: Exports are automatically deleted after 1 hour
57+
58+
## Requirements
59+
60+
- WordPress 5.8 or higher
61+
- PHP 7.4 or higher
62+
- Write access to the WordPress uploads directory
63+
- For database exports: MySQL access or WP-CLI installed
64+
65+
## Security Features
66+
67+
EngineScript Simple Site Exporter is built with security as a priority:
68+
69+
- **Export Authentication**: Only authorized administrators can create and download exports
70+
- **Secure Downloads**: All downloads are validated with WordPress nonces
71+
- **Request Validation**: Referrer checking for all operations
72+
- **Path Traversal Protection**: Comprehensive file path validation
73+
- **Automatic Deletion**: Exports are automatically cleaned up after 1 hour
74+
- **Security Headers**: Implements proper headers for download operations
75+
- **Secure File Handling**: Uses WordPress Filesystem API for file operations
76+
77+
## Frequently Asked Questions
78+
79+
### How large of a site can I export?
80+
81+
The plugin is designed to work with most WordPress sites, but very large sites (multiple GB) may encounter timeout or memory limitations depending on your hosting environment.
82+
83+
### Where are the export files stored?
84+
85+
Exports are stored in your WordPress uploads directory, specifically at:
86+
`[wp-root]/wp-content/uploads/enginescript-sse-site-exports/`
87+
88+
### Why do export files disappear after an hour?
89+
90+
For security and disk space considerations, all exports are automatically deleted after 1 hour. This ensures sensitive site data isn't left stored indefinitely.
91+
92+
### Can I create multiple exports?
93+
94+
Yes, you can create as many exports as needed. Each will have a unique filename based on the timestamp of creation.
95+
96+
### Does this include my themes and plugins?
97+
98+
Yes, the export includes your entire WordPress installation: themes, plugins, uploads, and the complete database.
99+
100+
### Can I use this plugin with non-EngineScript servers?
101+
102+
Absolutely! While the plugin integrates seamlessly with EngineScript servers, it works perfectly on any WordPress installation regardless of the server environment.
103+
104+
## Changelog
105+
106+
See the [CHANGELOG.md](CHANGELOG.md) file for a complete list of changes.
107+
108+
## License
109+
110+
This plugin is licensed under the [GPL v3 or later](https://www.gnu.org/licenses/gpl-3.0.html).
111+
112+
## Credits
113+
114+
EngineScript Simple Site Exporter is developed and maintained by [EngineScript](https://github.com/EngineScript/EngineScript).
115+
116+
## Support
117+
118+
For support, feature requests, or bug reports, please [create an issue](https://github.com/EngineScript/EngineScript-Simple-Site-Exporter/issues) on our GitHub repository.

0 commit comments

Comments
 (0)