wordpress - 如何阻止访问 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>
解决方案
为了防止任何人访问该文件夹中的任何 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>
推荐阅读
- r - dplyr::summarise 根据另一列 max 拉取值
- python - 如何在 R 中安装 Tensorflow 和 Keras?
- java - 基于点注解的Java嵌套POJO更新
- go - 如何使用 OID 读取密钥信息和密钥签名等扩展值
- jwt - NestJS - 如何在 jwt 服务上创建包装服务(来自 jwt 模块)
- php - 如何防止 woocommerce 创建新的调整大小的图像?
- python - 如何匹配具有由单个空格分隔的未指定数量的 2 位十六进制数字的模式?
- go - 为什么我的代码在没有关闭通道的情况下陷入僵局?
- sql-server - 解析列中的 XML 数据
- c - C中的快速排序(以相同的顺序)