听说启用父路径会有安全问题,容易被攻击,到底有没有这个说法,理论根据是什么?如果确有其事,我的程序怎么办修改最少?
潜在的风险:如果只有administrator和system有完全权限的话,安全性还没什么影响,如果是every的话,那就非常危险了,可能导致EVERYONE使用FSO对盘上的任何文件进行操作。
关闭父路径支持:打开IIS-主目录-配置-选项-启用父路径去掉钩
关闭后的程序:
症状举例:
Server.MapPath() 错误 'ASP 0175 : 80004005'
不允许的 Path 字符
/0709/dqyllhsub/news/OpenDatabase.asp,行 4
在 MapPath 的 Path 参数中不允许字符 '..'。
解决办法:
- 尽量减少对上级目录的调用,比如把需include的文件放在相同目录下。
- 使用绝对路径来访问一些公用文件, 比如/include/xxx.asp。
PS:
绝对路径以“/”开头
物理路径就是盘符开头的,例:e:,c:
如果没有启用你路径,则不能用./,../表示回到上一目录,上上级目录。
但是用绝对路径与物理路径依然成立。