我正在使用Symfony2witchSenchaExtJS作为前端。我发现我的表单容易受到XSS攻击。我知道,Symfony2有一些机制可以保护我们的数据免受这种攻击,但是这种机制主要使用我不使用的模板。我正在从前端字段收集大量数据,这些数据会传递到后端。我希望尽可能少地解决这个问题。我的目标是在数据进入数据库之前保护我的应用程序。我有两个选择。首先是在lifecycleeventlisteners上添加strip_tag函数,监听preFlush数据。其次是在选定的易受攻击字段的实体级别添加strip_tags。这两种选择在我看来都不够,因为代码量很大。在Sencha前端添加一些代码
好吧,现在我进退两难了,我需要允许用户插入原始HTML,但也阻止所有JS-不仅仅是脚本标签,还有href等。目前,我所知道的是htmlspecialchars($string,ENT_QUOTES,'UTF-8');但这也会将有效标签转换为编码字符。如果我使用striptags,它也不起作用,因为它删除标签!(我知道你可以允许标签,但问题是如果我允许任何标签,例如,人们可以向它添加恶意JS。我能做些什么来允许html标签但没有XSS注入(inject)吗?我计划了一个功能:xss()并用它设置我网站的模板。它返回转义的字符串。(我只需要帮助转义:))谢谢!
如何保护以下基于DOM的XSS攻击?具体来说,是否有一个protect()函数可以使下面的内容安全?如果不是,那么还有其他解决方案吗?例如:给div一个id,然后为元素分配一个onclick处理程序varxss="";$("#mydiv").html("")我希望得到的答案不是“避免使用innerHTML”或“将xss变量正则表达式为[a-zA-Z0-9]”...即:是否有更通用的解决方案?谢谢 最佳答案 扩展Vineet的回复,这里有一组要研究的测试用例:http://ha.ckers.org/xss.html
我知道这个问题已经被问了一遍又一遍,但我仍然没有找到我喜欢的完美答案,所以这里再次...我已经阅读了很多关于CI的xss_filter的两极分化评论。基本上大多数人都说这不好。有人可以详细说明它有多糟糕,或者至少给出1个最可能被利用的场景吗?我查看了CI2.1中的安全类,我认为它非常好,因为它不允许恶意字符串,如document.cookie、document.write等。如果该站点基本上没有html表示,那么在插入到数据库之前使用全局xss_filter是否安全(或者如果它真的对性能影响那么大,请在每个表单发布的基础上使用它)?我一直在阅读关于是否在输入/输出上转义的利弊,大多数人
我的代码下面的代码可以按我的要求正常工作。它不会在浏览器上发送我真正想要的任何输出。ob_start();echo"test";echo"test";$output=ob_get_clean();但问题出在我下面的代码中。下面的代码开始在浏览器上发送输出,即使我在最后有$output=ob_get_clean();ob_start();for($i=0;$i";}$output=ob_get_clean();我无法理解输出缓冲的概念。每个人都说您可以控制输出并在需要时发送输出,但我上面的脚本开始将输出发送到浏览器。 最佳答案 可以缓
这是易受攻击的代码确保清除进入目标的讨厌的东西的适当方法是什么? 最佳答案 首先,这是一个漏洞OWASP将其归类为“未验证的重定向和转发”。参见OWASP'sguideformoreinformation.一些有趣的攻击是可能的。参见thisthreadonsla.ckers.orgforideas关于如何滥用它。您如何保护自己?验证URL的方案。您通常只想支持http和https。中止任何其他方案的请求。解析URL,并提取域。只允许重定向到已知的域列表。对于其他域,中止请求。就是这样。
$this->input->post('问题',TRUE)即使我添加TRUE,它仍然允许人们添加html代码。这是为什么? 最佳答案 xss_clean()函数不会删除所有HTML,它会删除/替换被认为是危险的特定内容,例如。标签。http://codeigniter.com/user_guide/libraries/security.htmlTheXSSfilterlooksforcommonlyusedtechniquestotriggerJavascriptorothertypesofcodethatattempttohija
htmlentities是防止PHP中的XSS的最佳解决方案吗?我还想允许像b、i、a和img这样的简单标签。实现这一点的最佳解决方案是什么?我确实考虑过bbcode,但发现如果没有正确实现,我也会遇到XSS问题。我应该怎么办?欢迎任何优秀的第三方库。编辑:我刚刚尝试了HTMLPurifier,但在这种情况下失败了。Justseethisexample 最佳答案 为此,我会选择HTMLPurifier,是的,您也可以在那里指定白名单标签。HTMLPurifierisastandards-compliantHTMLfilterlibr
readfile的PHP文档有一个如何下载文件的示例:它使用ob_clean删除可能在输出缓冲区中的内容。但是我读过的帖子(http://heap.tumblr.com/post/119127049/a-note-about-phps-output-buffer-and-readfile)指出对于大文件应该使用ob_end_clean而不是ob_clean。我的问题是:使用ob_clean而不是ob_end_clean有什么用?如果ob_end_clean像ob_clean一样工作并且避免了问题,为什么所有文档都没有显示使用ob_end_clean? 最佳答
$address和$cityState是用户提供的,存储在数据库中,可供其他人查看,如下所示。有没有风险XSS?htmlspecialchars()也应该用在上面吗?&zoom=14&size=400x400&sensor=false"alt="Map"/> 最佳答案 是的,还应该使用htmlspecialchars-您首先将URL编码为URL安全的,然后将其构建到HTML属性中,该属性“需要”HTML-风格转义。在使用这两种编码后,不再可能在您的秤端注入(inject)任意代码,因此如果仍有任何风险,他们将