我需要从我的客户端javascript代码创建ajax请求,使用jQuery将一些数据发布到后端。
$.ajax({...});
Javascript代码可以由各种客户端嵌入,因此我在后端启用CORS
并且请求正常。
后端受Basic Auth
保护,auth标头存储在javascript客户端中。
如何保护我的后端,以便只有我的客户才能发布数据并阻止任何其他人这样做。
答案 0 :(得分:4)
您无法在JavaScript中存储机密信息。如果没有用户能够访问用户名和密码,您无法保留用户名和密码(F12调试工具)。即使要使用JavaScript encryption,您仍然需要将密钥存储在客户端的某个位置,以便轻松地将其发现。
即使您信任该用户,XSS攻击也可能会将此用户名和密码信息泄露给攻击者。
这就是OAuth 2.0在implicit grant中使用短期访问令牌来处理公共客户的原因。