在阅读(eng).pdf之后,很明显,允许用户上传图像会打开XSS攻击的大门。
我找不到任何PHP示例,说明如何为XSS攻击筛选上传的图像。
我为CodeIgniter找到了一个,我正在使用它。它的功能是xss_clean($file, IS_IMAGE),但只有一句文档,所以我不知道它是如何工作的,在他们的论坛上有一条评论说,它有一个不合理的高错误率,所以它不能在生产中使用。
您建议在上传的图像中防止XSS攻击吗?
发布于 2012-08-10 17:23:58
只要您保持扩展正确(并且您的用户正在努力更新他们的浏览器),映像注入就不可能实现。
例如,如果有人将alert('xss');上传为图像,而您有<img src='that-image.png'>,则会以png的形式发出它,并且JavaScript不会执行(至少返回到IE7)。重要的是要适当地重命名图像。
如果您有php > 5.3和finfo PECL扩展名,您可以使用它获取文件的mime类型,并有一个允许类型的白名单(png、jpg、gif我可以想象)。如果您在Linux机器上,file可能也会帮助您。
发布于 2012-08-10 18:11:01
在CodeIgniter中有许多防止XSS的方法。您可以在获得类似于->post的值(‘data’,true)时启用它。第二个参数是XSS bool。
另外,不要使用HTML标记。使用CodeIgniter的一个,它将清洁,外观和使它更容易显示的图像。
只有我的两分钱!
https://stackoverflow.com/questions/11906372
复制相似问题