首页 > 解决方案 > 如何阻止访问 wp-content/uploads

问题描述

我尝试为摄影师创建一个 Wordpress 网站,所以我阻止了右键单击,但它也总是可以访问上传图像的 url。我试图阻止文件 .htaccess 和插件“防止直接访问”,但它不起作用。

有什么东西可以阻止访问吗?

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{HTTP_REFERER} !^$
 RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mydomain.be [NC]
 RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
 RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?facebook.com [NC]
 RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?twitter.com [NC]
 RewriteRule \.(jpg|jpeg|png|gif)$ - [F] 
</IfModule>

标签: wordpressimagesecurity

解决方案


为了防止任何人访问该文件夹中的任何 PHP 文件wp-content/uploads,您可以在该文件夹中创建一个 .htaccess 文件wp-content/uploads并将以下代码添加到其中:

# Kill PHP Execution
<Files ~ ".ph(?:p[345]?|t|tml)$">
deny from all
</Files>

您可以将以下代码添加到您的 .htaccess 文件中。

# Deny access to .htaccess

<Files .htaccess>

Order allow,deny

Deny from all

</Files>

打开您在网站根文件夹中找到的 .htaccess,然后将代码块放在下面:

RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^wp-content/uploads/(.*)$ dl-file.php?file=$1 [QSA,L]

要隐藏 wp-includes 文件夹中的敏感文件,请将以下代码添加到站点根目录中的 .htaccess 文件中:

 # Block wp-includes folder and files
 <IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteRule ^wp-admin/includes/ - [F,L]
 RewriteRule !^wp-includes/ - [S=3]
 RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
 RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
 RewriteRule ^wp-includes/theme-compat/ - [F,L]
 </IfModule>

推荐阅读