Title: Protect Uploads
Author: Protect Uploads
Published: <strong>2015-03-31</strong>
Last modified: 2025-12-28

---

Search plugins

![](https://ps.w.org/protect-uploads/assets/banner-772x250.png?rev=2779778)

![](https://ps.w.org/protect-uploads/assets/icon-256x256.png?rev=2779778)

# Protect Uploads

 By [Protect Uploads](https://profiles.wordpress.org/alticreation/)

[Download](https://downloads.wordpress.org/plugin/protect-uploads.0.6.0.zip)

 * [Details](https://tt.wordpress.org/plugins/protect-uploads/#description)
 * [Reviews](https://tt.wordpress.org/plugins/protect-uploads/#reviews)
 *  [Installation](https://tt.wordpress.org/plugins/protect-uploads/#installation)
 * [Development](https://tt.wordpress.org/plugins/protect-uploads/#developers)

 [Support](https://wordpress.org/support/plugin/protect-uploads/)

## Description

The uploads directory is where the files of the WordPress library are stored. Unfortunelty,
this directory is not protected. A person who wants to see all your library could
list it instantly going to : http://yourwebsite/wp-content/uploads . This plugin
will hide the content by adding an index.php file on the root of your uploads directory
or by setting an htaccess which will return a 403 error (Forbidden Access).

 * Depending on your server setting, the htaccess option could be disabled.

**New Features in Version 0.6.0:**

 * **Image Watermarking**: Add text watermarks to your uploaded images with customizable
   position, opacity, and font size.
 * **Right-Click Protection**: Prevent users from right-clicking to download or 
   save your images.
 * **Password Protection**: Secure individual media files with passwords. Multiple
   passwords can be set for each file with custom labels.
 * **Access Logging**: Track who accesses your password-protected files with detailed
   logs including IP address and user agent.

Available languages:

 * English
 * Français
 * Español
 * Italian (thanks to Marko97)

## Screenshots

 * [[
 * Administration Page for the plugin.

## Installation

 1. Upload `protect-uploads` folder to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Configure protection options in Settings  Media  Protect Uploads

Note: GD library is needed for watermarking functionality and being able to create
a .htaccess file in uploads directory.

## FAQ

### How do I add a password to a media file?

 1. Enable password protection in Settings  Media  Protect Uploads
 2. Edit any media file in your Media Library
 3. Scroll down to the “Password Protection” section
 4. Add one or more passwords with descriptive labels

### How does watermarking work?

When enabled, watermarking automatically adds text to images when they are uploaded.
You can customize:
 – The watermark text (defaults to your site name) – Position(
top-left, top-right, bottom-left, bottom-right, center) – Opacity (0-100%) – Font
size (small, medium, large)

### Can I password protect only certain file types?

Yes, password protection works for all media file types including PDFs, images, 
videos, and documents.

## Reviews

![](https://secure.gravatar.com/avatar/135bb06c69cba75b7623f9678c9b22e2a31bd8aadc1de0c1bac975f5697400b8?
s=60&d=retro&r=g)

### 󠀁[Thanks!](https://wordpress.org/support/topic/thanks-2497/)󠁿

 [marinstratulat](https://profiles.wordpress.org/marinstratulat/) 2024-05-25

Thanks!

![](https://secure.gravatar.com/avatar/0ece02f84064b37b72e67462316f8b98d54d2c0df405d8bb8aa7b5dbd9155fcd?
s=60&d=retro&r=g)

### 󠀁[Doesn’t work at all](https://wordpress.org/support/topic/doesnt-work-at-all-220/)󠁿

 [kmp2](https://profiles.wordpress.org/kmp2/) 2023-05-15 1 reply

Tried with “Protect with index.php files” Tried with “Protect with .htaccess file”
Neither one works. PDF happily appears in another browser where I’m not logged in,
it’s got a little menu, it loads completely, and the crooks are off and away with
my property. Wordpress 6.2. Thanks. Have a nice day.

![](https://secure.gravatar.com/avatar/37bf9c3442093bd8647b7028e6c798396188392e3226e1a6520ac9815347aa0a?
s=60&d=retro&r=g)

### 󠀁[Don’t be fooled by fake reviews.](https://wordpress.org/support/topic/great-to-use-39/)󠁿

 [kyle1313](https://profiles.wordpress.org/kyle1313/) 2023-06-21 1 reply

This plugin is not malware.The ‘malware’ you claim is a ‘fake plug-in’ created by
a web server being hacked.A year after downloading this plug-in from the official
Wordpress.org , my site is still very fine and secure. Don’t be fooled by fake reviews.

![](https://secure.gravatar.com/avatar/5f707618e5ae35a00590ac745bf6132897a4c61538092c683a6dea2d64b7951c?
s=60&d=retro&r=g)

### 󠀁[Simple and basic but perfect!](https://wordpress.org/support/topic/simple-and-basic-but-perfect/)󠁿

 [gianfri](https://profiles.wordpress.org/gianfri/) 2022-08-13

It just does what it has to do. Restrict free browsing of your WP-content folder
and subfolder. You can still access a specific file if you have the exact path but
you cannot sneak around any longer.

![](https://secure.gravatar.com/avatar/8a7af3abbd8421a35886db26b1dbd82da9e6297dc61baecfd011b1f8115d29b0?
s=60&d=retro&r=g)

### 󠀁[Still works great on wp 5.8](https://wordpress.org/support/topic/still-works-great-on-wp-5-8/)󠁿

 [anders23b](https://profiles.wordpress.org/anders23b/) 2022-02-16

Still works great on wp 5.8

![](https://secure.gravatar.com/avatar/cf04568e02c18794f6394cf736ad12f09593894d34ef0e79377ba0f5b46b8fbe?
s=60&d=retro&r=g)

### 󠀁[Thank you for a great plugin](https://wordpress.org/support/topic/thank-you-for-a-great-plugin-13/)󠁿

 [thirty6](https://profiles.wordpress.org/thirty6/) 2020-10-20

Sure, could have done it all manually… but why!? If site maintenance/upkeep/security
falls within your purview… This plugin is a must have tool. What makes it good… 
1. Out of the box installs with zero compromises or changes to other plugins or 
server software. 2. Activation and settings are straight forward 3. Works exactally
as expected/should Job well done…

 [ Read all 13 reviews ](https://wordpress.org/support/plugin/protect-uploads/reviews/)

## Contributors & Developers

“Protect Uploads” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Protect Uploads ](https://profiles.wordpress.org/alticreation/)

[Translate “Protect Uploads” into your language.](https://translate.wordpress.org/projects/wp-plugins/protect-uploads)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/protect-uploads/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/protect-uploads/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/protect-uploads/)
by [RSS](https://plugins.trac.wordpress.org/log/protect-uploads/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.6.0

 * Added image watermarking with customizable text, position, opacity, and font 
   size
 * Added right-click protection to prevent image downloads
 * Added password protection for individual media files
 * Added access logging for password-protected files
 * Added multiple password support with custom labels
 * Added security enhancements throughout the plugin
 * Improved file serving with better security checks
 * Added font size control for watermarks
 * Enhanced error handling and logging

#### 0.5.2

 * Removed unused css

#### 0.4

 * Fix potential security issues.
 * Remove recursive loop that creates indexes.

#### 0.3

 * Simplify UI admin.
 * check presence of index.html.
 * Remove option value managing current protection status.
 * Reorganizing code and making it more modular and simple.
 * Remove useless pieces.

#### 0.2

 * Add security check to form in admin page.
 * Add sidebar for admin page
 * Add Italian translation (thanks to Marko97).
 * Try to fix the wrong message saying that Protection is disabled eventhough it
   is actually working.

#### 0.1

 * Initial release

## Meta

 *  Version **0.6.0**
 *  Last updated **3 ай ago**
 *  Active installations **40 000+**
 *  WordPress version ** 3.0.1 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/protect-uploads/)
 * Tags
 * [password protection](https://tt.wordpress.org/plugins/tags/password-protection/)
   [protection](https://tt.wordpress.org/plugins/tags/protection/)[security](https://tt.wordpress.org/plugins/tags/security/)
   [uploads](https://tt.wordpress.org/plugins/tags/uploads/)[watermark](https://tt.wordpress.org/plugins/tags/watermark/)
 *  [Advanced View](https://tt.wordpress.org/plugins/protect-uploads/advanced/)

## Ratings

 4.8 out of 5 stars.

 *  [  11 5-star reviews     ](https://wordpress.org/support/plugin/protect-uploads/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/protect-uploads/reviews/?filter=4)
 *  [  1 3-star review     ](https://wordpress.org/support/plugin/protect-uploads/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/protect-uploads/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/protect-uploads/reviews/?filter=1)

[Add my review](https://wordpress.org/support/plugin/protect-uploads/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/protect-uploads/reviews/)

## Contributors

 *   [ Protect Uploads ](https://profiles.wordpress.org/alticreation/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/protect-uploads/)