【问题标题】:How to prevent user to access images in multiple directories via the url如何防止用户通过url访问多个目录中的图片
【发布时间】:2021-12-28 08:25:23
【问题描述】:

我正在使用.htaccess 来阻止用户通过 url 访问图像。
感谢this 的问题,我可以阻止用户访问.js 文件。

RewriteEngine ON
RewriteRule ^frontend/assets/(?:js) - [R=401,NC,L]

但是,当我应用相同的规则以拒绝访问 dir1dir2 时,仅拒绝访问目录 dir1 中的图像。

RewriteRule ^frontend/assets/images/(?:dir1|dir2) - [R=401,NC,L]

有没有办法处理这个问题并阻止用户访问目录dir2 中的文件?

【问题讨论】:

  • 能否请您提及您正在点击的示例网址?
  • 我在本地工作(本地主机),如果我正确理解了您的问题
  • 哦,好吧,实际上我是说如果您点击 url 之类的:http://localhost:80/frontend/assets/images/dir1 等?
  • 啊好的。我可以访问这个 http://localhost/free/frontend/assets/images/users/3wb2M.png 。但是对此http://localhost/free/frontend/assets/images/uploads/3wb2M.png 的访问被拒绝。
  • 当然,用RewriteRule ^free/frontend/assets/images/(?:users|uploads) - [R=401,NC,L]这个一次怎么样?

标签: apache .htaccess redirect mod-rewrite http-status-code-401


【解决方案1】:

请尝试遵循 htaccess 规则文件。除了修复正则表达式外,我们还需要小心放置规则的位置。因此,将此规则放在您之前使用的规则之前。

请确保在测试您的 URL 之前清除您的浏览器缓存。

##Enabling RewriteEngine here...
RewriteEngine On
##Rewrite rule for images with checking users OR uploads here...
RewriteRule ^free/frontend/assets/images/(?:users|uploads) - [R=401,NC,L]
##Rewrite rule for images OR css OR js folders here....
RewriteRule ^frontend/assets/(?:images|css|js) - [R=401,NC,L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 2019-12-13
    相关资源
    最近更新 更多