例如,我有一个Javascript驱动的表单创建工具。您可以使用链接来添加html元素块(如输入字段)和TinyMCE来编辑文本。它们是通过一个autosave函数保存的,该函数在特定事件的后台执行AJAX调用。
正在调用的save函数执行数据库保护,但我想知道用户是否可以操纵DOM来添加他想要的任何东西(比如定制HTML或不想要的脚本)。
如果有的话,这个有多安全?
首先想到的是,我可能应该搜索,并从接收到的html代码中删除任何内联javascript。
使用PHP,JQuery,Ajax。
发布于 2012-04-26 08:28:18
一点也不安全。您可以永远不信任客户端。即使是新手也很容易在客户端修改DOM (例如,只需为Firefox安装Firebug )。
虽然接受来自客户端的HTML是可以的,但是要确保在服务器端使用PHP验证并正确清理它。
发布于 2012-04-26 08:29:28
绝对不安全,除非你采取措施使其安全,当然。StackOverflow允许某些标签被过滤,这样用户就不会做恶意的事情。你肯定需要做些类似的事情。
我会选择清理输入服务器端,以便每个人都能得到他们的输入消毒,不管他们是否阻止了脚本。使用这样的方法:使用AJAX实现的http://www.phpclasses.org/package/3746-PHP-Remove-unsafe-tags-and-attributes-from-HTML-code.html或http://grom.zeminvaders.net/html-sanitizer将是一个很好的解决方案。
https://stackoverflow.com/questions/10329698
复制相似问题