在我的网站上,用户可以在给定文件夹中上传静态文件(通常是图片)。
我刚看到Scott Hanselman的这篇文章: http://www.hanselman.com/blog/BackToBasicsWhenAllowingUserUploadsDontAllowUploadsToExecuteCode.aspx
他建议在web.config文件中添加它,以确保在该文件夹中不能执行任何操作:
<location path="upload">
<system.webServer>
<handlers accessPolicy="Read" />
</system.webServer>
</location>
这似乎有效。作为测试,我将.aspx文件放在相关文件夹中。如果我尝试访问它,我仍然可以访问图片时出现“访问被拒绝”错误消息。
我不明白为什么上传器仍然有效?是否需要写入权限才能将图片保存在文件夹中?
答案 0 :(得分:1)
用户上传文件夹中任意代码执行的修补程序
修复了什么?好吧,当然不允许有人上传 文件扩展名为.aspx或.php,也可以标记 整个上传文件夹不可执行!这是更新的 web.config中:
请注意粗体文字:但也要将整个上传文件夹标记为不可执行....并且实际上
<handlers accessPolicy="Read" />
这意味着无法执行.php,.aspx等页面。