我的应用程序中有一个下拉列表,我使用Ajax调用填充数据,如下所示。这工作得很好,我的网页API URL为“http://example.com/Service.svc/json/getairports”使用简单的令牌保护REST服务
$(function() {
$.getJSON("http://example.com/Service.svc/json/getairports", {}, function (data) {
$("#airport-departure-modal, #destination-airport-modal").html("")
$.each(data, function (index, element) {
$("#airport-departure-modal, #destination-airport-modal").append("<option id=" + element["AirportCode"] + ">" + element["AirportName"] + "</option>");
});
});
});
但我担心的是安全性,因为任何人都可以使用查看源文件或开发工具查看该网址。所以我想引入一个令牌并将它传递给像“http://example.com/Service.svc/json/getairports?token=SECUREKEY”这样的服务,但我不知道这是否能解决问题,因为安全密钥在视图源中也是可见的。 所以我的问题是我如何保持安全密钥在客户端不可见或只有在启动ajax调用时才动态传递?
仅供参考,我将在生产中使用HTTPS,以便通过电线嗅探得到照顾。也不是这样的,这个服务只会在同一个应用程序中使用,尽管Web API服务可能托管在一个单独的节点上。
请注意,是否可能有一些替代方案,但上述方案的简单解决方案。我知道其他先进的机制,如OAuth,HMAC,亚马逊S3等,但我只想有一个简单的解决方案。