PHP China | 中国开源之路 's Archiver

wbsifan 发表于 2008-11-19 11:40

有没有必要对$_FILES转义

魔术引号会对
$_POST $_GET $_COOKIE
特殊字符进行转义

但是$_FILES 不会

有没有必要对$_FILES 进行手动转义呢?
转义之后 文件怎么处理?
若上传的一张图片 或者是一个RAR文件包
转义后的结果会是什么?

roger 发表于 2008-11-19 13:46

有以下几点可以关注
1.  文件上传表单的值对javascript是只读的,不可以修改;
2. 文件名中不能有\和", windows下可以有', 但上传后会被截掉
3. 文件上传到服务器后,是被保存为临时文件,且文件名被替换为安全的文件名

结论:没有什么东西值得转义

yafeikf 发表于 2008-11-19 14:28

回复 2# roger 的帖子

是这个样子滴

ljxok2001 发表于 2008-11-19 14:29

相信这一条真理: 所有来自客户端的数据不予信任. 必须经过处理. 这叫纵深防备战略

roger 发表于 2008-11-19 14:35

[quote]原帖由 [i]ljxok2001[/i] 于 2008-11-19 14:29 发表 [url=http://www.phpchina.com/bbs/redirect.php?goto=findpost&pid=732654&ptid=91879][img]http://www.phpchina.com/bbs/images/common/back.gif[/img][/url]
相信这一条真理: 所有来自客户端的数据不予信任. 必须经过处理. 这叫纵深防备战略 [/quote]

是滴,
但就文件上传来说,php已经防御过了(或者是服务器程序处理的?apache 或 iis,  没深究),没咱们啥事了

liexusong 发表于 2008-11-19 15:07

在Linux下就有这样的必要检测,Windows我觉得没有必要!

ahsxw 发表于 2008-11-19 16:34

我张见识了

ljxok2001 发表于 2008-11-19 17:00

你也不知道什么时候又会整出一个 $_FILES 漏洞出来,
如果追求高度安全, 那么安全措施能做的就做.

1nject10n 发表于 2008-11-20 00:50

文件名不能存在对数据库有威胁的单引号,斜杠。所以这个担心是不必要的

深蓝色 发表于 2008-11-20 03:37

liexusong:你有没有测试过?

我认为文件名如果是存入数据库的话,才存在转不转义的问题。如果不存的话,那转干吗?

还有,就算会把单引号上传上来,构成sql语句出错,但也不至于被sql注入吧?

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.