【发布时间】:2013-12-04 05:15:04
【问题描述】:
我在做
index.php?letter=1&show=cat.jpg
我不包含文件,但仅将其用作<img src="$_GET['show']">
安全吗?
【问题讨论】:
-
传递文件名是安全的,但在服务器端处理它的方式并不安全。
-
index.php?letter=1&show=/some/protected/folder/somefile -
我不包括它。我使用 它是通过 brouser 加载的,而不是通过服务器加载的。如果用户没有访问权限,那么这样的请求就会失败,不是吗?
-
@bansi 您的关注仅与包含东西服务器端有关。在这种情况下,服务器只负责生成将由客户端(浏览器)执行的请求标记。即使 show 参数被操纵以访问受保护的资源,这与发出直接请求没有任何不同,除非图像文件夹位于 DocumentRoot 之上。
-
你必须小心 xss 攻击。通过
show=/some/protected/folder/somefile不会产生任何安全问题。请阅读我的回答。