首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅用于上传图像的.htaccess

问仅用于上传图像的.htaccess
EN

Stack Overflow用户
提问于 2012-02-12 21:26:57
回答 2查看 1.1K关注 0票数 0

我正在开发一个非常简单的PHP上传功能在我的网站,以允许用户只上传图像。除了通过php检查mime类型之外,我还想要一个.htaccess文件来决定哪些可以上传,哪些不可以,我想在根文件夹中插入.htaccess,然后从根文件夹中为我需要管理的所有文件夹编写规则。

这是我第一次使用.htaccess,我从互联网上找到了这个:http://pastebin.com/0KNHEbw0

但它不起作用。我在win7上用我的xampp在本地测试它,我发现我可以上传"oggetti“文件夹中的任何类型的文件。这是怎么回事?

然后,为了管理其他文件夹,我应该这样写吗?http://pastebin.com/dFMUu1g0

提前谢谢你!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-12 21:28:49

您无法控制通过.htaccess文件上传哪些文件: Apache,解析这些命令的web服务器,只处理文件服务。

您需要在处理上传过程的PHP脚本中执行这些检查。请注意,检查随文件一起发送的MIME类型不是确定文件类型的可靠方法!发送的值可被攻击者操纵。为了确保文件是一个图像文件,你可以使用getimagesize()。

票数 3
EN

Stack Overflow用户

发布于 2012-02-12 21:35:32

这不能使用.htaccess来完成。我猜您要做的是防止恶意脚本在服务器上意外执行。我通常这样处理文件上传:

  1. 使用auto_increment ID将文件名、mime类型等插入到数据库中。
  2. 使用ID作为文件名(无扩展名),并将文件放在webroot之外的目录中。这样,您就可以确保没有人可以执行该文件。
  3. 当请求文件时,在数据库中查询文件名mime类型和id,并使用readfile()将文件发送给用户(点击链接查看示例)。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9249128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档