我有一个需要调用外部Web服务的PHP页面。此Web服务调用从PHP页面上的html表单中获取大量敏感数据,例如SSN,并返回与该人相关的信息。
问题是,一旦客户填写SSN字段并且该字段失去焦点,就应该立即进行Web服务调用,因此无法以任何方式重新加载页面。我正在考虑使用jQuery来调用Web服务,但遗憾的是AJAX要求您与所请求的资源位于同一个域中。所以我正在考虑创建一个本地PHP页面来调用Web服务,然后使用JQuery来调用这个新页面。
问题:
如何使用JQuery调用调用Web服务的本地PHP脚本?
因为JQuery代码会从html表单中获取敏感数据并将其发送到PHP脚本,所以如何加密数据呢?
答案 0 :(得分:1)
1)$ .get(“myscript.php”,function(response){alert(response)});
2)我不会使用jQuery加密,它会很慢且易于解密。在服务器上启用SSL将是一个更好的解决方案。
答案 1 :(得分:1)
调用您的PHP文件:
var url = "http://localhost/data.php";
var params = {
"SSN" : theSSN
};
$.get(url, params, function (){
// Do whatever you need here, once the data arrives.
});
要从PHP调用外部Web服务,我建议使用cURL。
要加密,我建议使用HTTPS协议,而不是从JavaScript手动加密。
答案 2 :(得分:0)
1:Ajax请求示例:
$.ajax(
{
type: "GET",
url: "http://yourdomain.com/yourpage.php",
success: function (msg) { //does something }
});
更多详情here
2:php XOR是一个非常好的加密算法,我自己用它来处理一个包含敏感数据的项目。你可以找到函数here。
享受! :)
答案 3 :(得分:0)
这可能对你没什么帮助,但是一些web服务支持一种名为JSONP的东西,它为普通的JSON请求添加了一个回调名称。
但是,您可能需要制作某种本地代理,因为还没有很多JSONP服务。
答案 4 :(得分:0)
要做的就是在您的域上启用SSL,并对远程服务的https执行xmlHTTPRequest