我需要在Angular 6中明确对输入字段进行净化吗?

3

我需要明确地清理所有输入,还是Angular已经替我完成了这个工作?

我有一个登录表单-提交后它会将数据发送到服务器。这些数据是否需要明确的清理,还是Angular会自动清理所有输入字段?


“the data entered gets evaluated for user” 是什么意思?它会在应用程序的某个地方重新显示吗?还是您想知道它在发送到服务器之前是否会被进行过滤处理? - Arnaud Denoyelle
2
阅读此链接:https://angular.cn/guide/security - etarhan
1
此外,这可能回答了你的问题 - Arnaud Denoyelle
如果在发送到服务器之前进行了清理,则返回已清理的内容。 - mrd3ath
2个回答

8

感谢您的提问,这可能对其他人也有用。在任何情况下,后端绝不能信任前端,不管是框架、自定义库还是任何东西。如果有人可以利用、注入或以其他方式骚扰您的后台,他们就会这样做,没有例外。他们将通过绕过任何前端框架或库并进行直接请求来伪装成必要的任何内容。

正如@etarhan所说,请阅读: https://angular.io/guide/security


谢谢!快速跟进一下,如果我从服务器和DOM接收数据,那么这将需要进行净化,是吗? - mrd3ath
您应该假定所有进入后端的数据都是损坏或格式不正确的,并采取必要的措施来清理它,确保它是有效的等。由于您不知道数据来自何处,因此无法控制发送到服务器的内容。从您的API发送回浏览器的数据应该是可信的,因为这是您存储的数据。只要提供的数据没有以某种方式损坏,您就可以将其发送回客户端,因为您有控制权。 - user9298624

0

不行。如果它在前端,那么用户可以在浏览器中更改它,编辑请求并进行其他操作。您的净化应该在后端处理,这样用户就无法操纵它。

我还强烈建议为您的后端语言找到一个框架,而不是重新发明轮子。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接