- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 Symfony2 witch Sencha Ext JS 作为前端。
我发现我的表单容易受到 XSS 攻击。我知道,Symfony2 有一些机制可以保护我们的数据免受这种攻击,但是这种机制主要使用我不使用的模板。
我正在从前端字段收集大量数据,这些数据会传递到后端。我希望尽可能少地解决这个问题。
我的目标是在数据进入数据库之前保护我的应用程序。我有两个选择。
首先是在lifecycle event listeners上添加strip_tag函数,监听preFlush数据。
其次是在选定的易受攻击字段的实体级别 添加 strip_tags。
这两种选择在我看来都不够,因为代码量很大。
在 Sencha 前端添加一些代码可能是个好主意吗?我不知道该怎么办。
多谢指教!
最佳答案
如果您不使用模板引擎(我强烈推荐它以防止 XSS 攻击),您需要使用以下方法转义所有用户数据:
htmlspecialchars($string, ENT_QUOTES);
您可以通过实现 Content Security Policy 来添加另一个安全层及其 nonce 参数 - 它是一个随机生成的长字符串,您需要将其添加到每个脚本标记中,如下所示:
<script nonce="myRandomString"></script>
然后,只需在 PHP 中设置一个新的 CSP header :
header('Content-Security-Policy', 'script-src 'nonce-myRandomString' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; object-src 'none');
这将防止在现代浏览器(即较新版本的 Chrome;但 CSP 3 将很快在其他浏览器中实现,希望如此)中运行外部脚本。 所以要小心,这不是 100%,只是一个安全网。
请注意,每个请求的 nonce 字符串必须不同。您可以通过 Symfony 监听器实现此目的。我写的很详细tutorial on the Symfony implementation of CSP .
关于php - Symfony2 易受 XSS 攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28526309/
我正在使用文字在产品页面控件上显示一些 javascript。基本上我正在做的是在我的代码中声明一个新的 stringbuilder,在编写脚本的同时插入一些动态变量来填充脚本,然后将文字文本设置为
我正在使用 Symfony2 witch Sencha Ext JS 作为前端。 我发现我的表单容易受到 XSS 攻击。我知道,Symfony2 有一些机制可以保护我们的数据免受这种攻击,但是这种机制
我目前正在创建一个使用 MySQL 的 Java 应用程序。 我读到在某些情况下您应该使用准备好的语句来防止 SQL 注入(inject)。 到目前为止,我不使用准备好的语句,实际上我有点担心我的代码
今天我收到了如下邮件, 安全警报 您的应用包含易受 JavaScript 接口(interface)注入(inject)攻击的 WebView。请看这个 Google Help Center arti
有没有人可以给我一个非常基本的 ASP.NET Web 应用程序示例,该应用程序容易受到 padding oracle 攻击。 最佳答案 尝试以下两个站点上的步骤来测试您的站点。 http://blo
我被要求处理由另一位程序员建立的网站的安全问题。到目前为止,我还没有看到任何代码,所以我现在不做假设了,我想介绍一下我的基础。托管该站点的小组进行了安全检查,发现他们的代码容易受到 SQL 注入(in
我有一个页面,我只想将查询字符串传递到另一个页面。没有可用的服务器端编程,只有针对这个特定客户端的 HTML(我只能使用 javascript/jquery)。他们有一个流程,他们希望将几个参数传递给
我是一名优秀的程序员,十分优秀!