安全的Javascript,调用调用外部Web服务的PHP脚本

时间:2009-03-25 13:16:18

标签: php javascript security jquery

我有一个需要调用外部Web服务的PHP页面。此Web服务调用从PHP页面上的html表单中获取大量敏感数据,例如SSN,并返回与该人相关的信息。

问题是,一旦客户填写SSN字段并且该字段失去焦点,就应该立即进行Web服务调用,因此无法以任何方式重新加载页面。我正在考虑使用jQuery来调用Web服务,但遗憾的是AJAX要求您与所请求的资源位于同一个域中。所以我正在考虑创建一个本地PHP页面来调用Web服务,然后使用JQuery来调用这个新页面。

问题:

  1. 如何使用JQuery调用调用Web服务的本地PHP脚本?

  2. 因为JQuery代码会从html表单中获取敏感数据并将其发送到PHP脚本,所以如何加密数据呢?

5 个答案:

答案 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