我正在尝试保护/ uploads目录中的某些类型的文件免受Wordpress网站中未登录的用户的攻击。问题是我正在尝试翻译Nginx服务器的指令。
htaccess语法为:
RewriteCond %{REQUEST_FILENAME} ^.*(pdf|doc|docx|ppt|pptx|)$
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule . - [R=403,L]
我知道这不是"铁定"解决方案,但它足以满足我的需求。 这就是它应该是这样的:
# nginx configuration location ~ ^.*(pdf|doc|docx|ppt|pptx|)$ { }
答案 0 :(得分:0)
当然,只检查cookie的存在并不是保护文件的安全方法 - 攻击者很容易添加cookie。
但是,如果你不想检查cookie的存在,你可以使用:
location ~ ^.*(pdf|doc|docx|ppt|pptx|)$ {
if ($cookie_CookieName = false) {
return 301 http://example.com/redirect-here;
}
}
现在唯一的另一个问题是,Wordpress登录的cookie名称包含一个随机数 - 例如wordpress_logged_in_12345
因此,您需要添加另一个Cookie来显示用户已登录。