消除用户输入

时间:2016-02-24 13:17:41

标签: angularjs

我正在学习Angular并且有一个用户可以预订酒店的表格。这会发布到第三方API。

当数据输出回视图时我理解xss和ng-bind-html但是在将表单发送到API之前如何删除表单或输入框的恶意代码?

我知道Laravel有一个清洁功能,你可以预先包装在你的模型中。

我所能看到的

$sce$sanitize仅涉及该视图?或者Angular是否开箱即用?

1 个答案:

答案 0 :(得分:2)

最好是在客户端和服务器上清理两者

  • 服务器端因为: 您不能相信可以通过浏览器的JS控制台修改的Javascript客户端。此外,有人可以使用cURL发送模仿客户端的POST / PUT请求。
  • 客户端因为:更快的响应和第一道防线,允许您在不进行较长的往返服务器的情况下进行消毒,估价或警告。 您应该包括ngSanitize模块和angular-sanitize.js脚本,以便自动进行值清理。

https://docs.angularjs.org/api/ngSanitize https://www.google.com/about/appsecurity/learning/xss/#PreventingXSS