我需要从我的客户端JavaScript代码调用Web服务(它将在加载网页时运行)。我知道有像this one这样的库,或者我可以像here那样使用直接jQuery。
但我担心的一个问题是身份验证。我需要向web服务发送一个用户名/密码或授权标题,如here所述。现在,如果这不是来自用户,它似乎需要存储在浏览器端代码的某处,以便在代码运行时(客户端)发送它。
那么,通过在我的页面上执行查看源,这对所有人来说是不是很明显?如果是这样,我该如何防止这种情况?
答案 0 :(得分:1)
您可以对用户名和密码进行编码,这样如果有人看到网页的查看源,就会显示编码的凭据。
要对凭据进行编码/解码,您可以使用atob和btoa Javascript函数。它们存在于大多数浏览器的JavaScript实现中。请看这个链接:https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
将凭据发送到服务器时,您可以在发送凭据之前解码数据。
为确保在传输过程中不会读取凭据,不应以纯文本形式发送。 HTTPS可用于保护Web服务请求。