【问题标题】:Secure communication in a web-service using PhoneGap使用 PhoneGap 保护 Web 服务中的通信
【发布时间】:2012-01-07 19:18:20
【问题描述】:
我将开发一个非常简单的 PhoneGap 应用程序。
我需要实现身份验证和一些从手机到服务器的简单数据传输,反之亦然。
我更喜欢将 ASP.NET 用作 Web 服务,而我们的数据库是 MS SQL,但我不确定应该采取什么方法来在 PhoneGap App 和 Web 服务之间创建安全通信。
一个简单的 AJAX 请求的问题是跨域的限制,我不确定 JSONP 是否是一个好的选择。
我想知道是否有人可以告诉我应该使用什么技术来建立与 PhoneGap(HTML5、JavaScript)和 .NET 网络服务一起使用的半安全连接。
我知道这是一个普遍的问题,但我需要知道在这种情况下哪种技术是最好的。
谢谢。
【问题讨论】:
标签:
ajax
web-services
authentication
cordova
cross-domain
【解决方案1】:
对于初学者,你可以使用rest接口和http认证,它会很简单,它会帮助你开始。
【解决方案2】:
只要您清理(验证)您从请求中收到的输入,JSONP 就是一个不错的选择。此外,它受 jquery 支持,因此您可以使用以下内容:
function retrieve(parameter1,parameter2, server)
{
var url1 = 'http://' + server + '/endpoint.php?jsoncallback=?';
$.getJSON(url1,
{
param1: parameter1,
param2: parameter2,
},
function(data)
{
console.log('Data connection OK');
retData = data;
});
}
关于安全性,您可以通过 HTTPS 执行此请求。
在服务器端,json 回复应该包装在一个函数中,该函数的名称取自 jsoncallback,这样您就可以实现 JSONP。