【问题标题】:File permission forbidden, but can be accessed when the name changed文件权限被禁止,但改名后可以访问
【发布时间】:2015-12-01 09:38:21
【问题描述】:

我有一个网络应用程序,用户可以在其中上传他们的身份证照片。当他们上传图片时,我将图片命名为[username]_[timestamp].[extension]

这几乎适用于所有上传的图片。但是有几张图片,当我尝试在浏览器中访问它时,它说我没有访问该文件的权限。文件名的示例之一是hsigit_2015-11-28 09:12:48.jpg

权限和命名模式与任何其他可以毫无问题地访问的文件相同。只有这个文件和其他几个(大约 5 个文件)无法从浏览器访问。

但是当我将名称更改为eror.pngeror12345.png 之类的名称时,突然可以访问它。但是当我把名字改成hsigit_2015-11-28.jpghsigit.jpg之类的名字时,仍然无法访问。

有人知道可能是什么问题吗?

【问题讨论】:

  • 这可能是禁止文件名中某些模式的规则?也许是git这个词?
  • 嘿,我想你是对的,所有出现问题的文件都有子字符串git。谢谢你。您想将您的评论移至答案,以便我将其标记为正确答案吗?另外,如何更改规则?

标签: linux apache unix permissions


【解决方案1】:

这可能是禁止文件名中某些模式的规则?也许是git这个词?

看看你的http.conf 和随后的可能是这样的:

<Directorymatch "^/.*/\.git/">
Order deny,allow
Deny from all
</Directorymatch>

Filesmatch。调整模式以满足您的需求。

【讨论】:

  • 我在 .htaccess 文件中找到了它。我将它从&lt;Files ~ "(.json|.lock|.git)"&gt; 更改为&lt;Files ~ "(.json|.lock|\.git)"&gt;。对吗?
  • 应该会好很多,修改别人的方法一样,不久的将来你会遇到同样的问题:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-23
  • 2015-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-01
  • 1970-01-01
相关资源
最近更新 更多