确定对我的 REST 服务发出的请求是否源自 Web 客户端的最佳方法是什么。我知道我可以查看用户代理,但我担心这很容易被欺骗。
我想知道谁发起了该请求,原因如下。它本身内置于网络浏览器中,因此您无法执行跨域请求。因此我不需要担心身份验证,因为我知道请求源 self 的网站。
我的网站完全用 HTML 和 Javascript 构建,有什么建议吗? 或者 JavaScript 中有没有一种好方法来存储我可以仅用于我的网站的隐藏用户名/密码,而无需向公众显示?
谢谢, 亚当
最佳答案
可以使用调试器(例如 Firebug)找到放入 JavaScript 中的任何内容,因此即使用户看不到它,用户也可以找到它。
但是,如果 javascript 首先调用 REST 服务来获取加密 token ,那么该 token (其中包含加密的时间戳)可能是密码,因此您可以传递用户名和 token 来调用其余部分REST 服务。
然后,您的服务器可以验证它是否已创建 token 且未过期,以及用户名是否与 token 中加密的内容相匹配。
但是,这取决于您是否对 REST 服务有任何控制权。
关于javascript - WCF REST 身份验证 - 确定 Web 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6969921/