English 中文(简体)
这一文件上载方法是否通过PHP安全?
原标题:Is this file uploading method secure via PHP?
  • 时间:2009-11-02 19:28:04
  •  标签:

我使用PHP文档上载的语言,并想知道我使用的以下方法是否可靠?

I am using simple method for file uploading, I check the file name from $_FILES[ userfile ][ type ] and then if it s having an allowed file extension, I upload the file with some random number. Like if it is abc.zip it may become 8w43x9d.zip.

请告诉我:这是否是一种真正坏的上载方法?

最佳回答

随机生成的安全档案名肯定是一件好事。 但是,如果你允许将档案延伸至我们手法,那么你仍然需要确保延期不会在服务器上引起任何问题,例如<代码>.php(K,PHP处理应在上载名录的网络服务器中残疾,但仍然存在)。 如果你在视窗服务器上,也存在问题,在那里,拖车和空间将配置档案系统;确保你将延伸到少数“众所周知的好”价值。

遗憾的是,<代码>[类型]的财产根本不能依赖。 一些浏览器打上了填充内容类型的标记,而另一些浏览器则会发现错误类型,因为其专业技能的建立很糟(一种无益的情况是,视窗的电传密码image/pjpeg),有些浏览器总是说application/octet-stream。 甚至<代码>text/plain。

甚至“<>代码>[><>/代码> 财产也不可靠;除浏览器外,某类人总是有机会对该特定机器进行意外的档案延期。 或者,对于Mac和Lino客户来说,它完全有可能被上载的卷宗总会延期(或者甚至会错延伸到业务顾问认为的类型)。

确实,这只是一片大事。 虽然从内容提要或档案延期中抽取类型,可能有助于猜测哪类文件应当属于违约,但这种说法完全不可靠,因此,提供一种人工方法,以选择另外的档案。 或者,如果你作为附件提供上载的文档(例如,通过规定<条码>的硬拷贝-Disposition:附件),那么你通常可以放弃仅仅打上所有<条码>的应用程序/代号,并在用户节省时将其分类。

如果您不再担任随行职务,你可能会遇到安全问题。 国际电离层电离层电离层电离层电离层电离层电离层电离层; 标签,并将这些档案作为超文本处理,即使你告诉它有其他内容。 然后,它可以在浏览器上显示,并让他们在你们的安全环境中投放文字。 如果你在安全方面有任何重要意义,例如用户账户和厨师,那就是一个交叉描述的安全漏洞。 这一工作是作为附件和(或)由不同的东道方担任的,这些代表不在你们主要所在地的安全环境中(通常使用一个子宫)。

允许用户完全相信把档案上载到服务器,实际上比PHP辅导员的三维榜样法更困难。

问题回答

http://ca2.php.net/manual/en/features.file-upload.post-method.php” rel=“nofollow noreferer” PHP Manual:

* E/CN.6/2009/1。

如果浏览器提供这种信息,档案的奇米类型。 一个例子是“im/".”。 然而,这种杂质没有在购买力平价方面检查,因此没有达到被授予的价值。

我不相信用户或用户浏览器寄给我的任何东西。

如果你再次学习,我将研究现有的安全来源,例如:http://pear.php.net/ Package/HTTP_Upload”rel=“nofollow noreferer”>HTTP_Upload。 甚至可以考虑使用Beta版本。

除上述职位外,我们依靠;FileInfoSplFileInfo,迄今为止证明是满足我们需要的最佳选择。

OK, in case of images we can use getimagesize($_FILES[ userfile ][ tmp_name ]); and can validate them but what in case of ZIP, RAR and PDF files?





相关问题
热门标签