调用调用外部web服务的PHP脚本的安全JavasScript

调用调用外部web服务的PHP脚本的安全JavasScript,php,javascript,security,jquery,Php,Javascript,Security,Jquery,我有一个PHP页面,需要调用外部web服务。此Web服务调用从PHP页面上的html表单(例如SSN)中获取一组敏感数据,并返回与此人相关的信息 问题是,当客户填写SSN字段并且该字段失去焦点时,应该立即进行web服务调用,因此不能以任何方式重新加载页面。我曾考虑使用jQuery调用web服务,但不幸的是,AJAX要求您与请求的资源位于同一个域上。因此,我考虑创建一个本地PHP页面来调用web服务,然后使用JQuery调用这个新页面 问题: 如何使用JQuery调用调用web服务的本地PHP脚本

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

问题是,当客户填写SSN字段并且该字段失去焦点时,应该立即进行web服务调用,因此不能以任何方式重新加载页面。我曾考虑使用jQuery调用web服务,但不幸的是,AJAX要求您与请求的资源位于同一个域上。因此,我考虑创建一个本地PHP页面来调用web服务,然后使用JQuery调用这个新页面

问题:

  • 如何使用JQuery调用调用web服务的本地PHP脚本

  • 由于JQuery代码将从html表单中获取敏感数据并将其发送到PHP脚本,因此如何对数据进行加密

  • 1) $.get(“myscript.php”,函数(响应){alert(响应)})


    2) 我不会使用jQuery加密,它会很慢而且很容易解密。在服务器上启用SSL将是一个更好的解决方案。

    1:Ajax请求示例:

    $.ajax(
    {
           type: "GET",
           url: "http://yourdomain.com/yourpage.php",
           success: function (msg) { //does something }
    });
    
    更多细节

    2:php XOR是一个非常好的加密算法,我自己用它来处理敏感数据的项目。你可以找到这个函数

    享受!:)

    调用您的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服务,我建议使用


    要进行加密,我建议使用HTTPS协议,而不是从JavaScript手动加密。

    这可能对您没有什么帮助,但有些Web服务支持一种称为JSONP的东西,它将回调名称添加到普通JSON请求中


    然而,您可能需要制作某种本地代理,因为目前还没有多少JSONP服务存在。

    方法是在您的域上启用SSL,并且对远程服务的https执行xmlHTTPRequest

    XOR encrypt也要求密钥是客户端的,因此它不是那么安全。更强的加密方法是不对称的。在PHP脚本中执行第一个页面(带有表单的页面)时(如果数据不是由用户编写的),可以对一些数据进行加密,如何返回数据以便jquery调用接收数据?我尝试了echo和return,但都不起作用。一个很好的方法是回显一些JSON数据。但是您需要使用$.getJSON而不是$.get。看看json_encode PHP函数;它会将您的PHP数据转换为JS格式,以便在JS world中进一步阅读。我几乎总是这样:)