如何从wordpress网站向另一个网站发送HTTPS响应

时间:2017-04-11 10:53:22

标签: php wordpress https http-headers xmlhttprequest

我知道这有点复杂,但使用这种情况对我有很多好处,

我正在开发一个WordPress项目,需要验证用户的许可证,所以我制作了一个AJAX表单,其中包含用户所需的字段,不幸的是,验证API需要一个密钥(属于我,不能包含在客户的项目中) )所以我创建了一个外部WordPress网站(我的网站上的子文件夹)并开发了两个小的[插件&主题]

- 在客户端

我使用WordPress功能(wp_safe_remote_get)准备用户敏感数据发送到我的网站......

$request_url = 'HTTPS://MY_WEBSITE/verify?api=XXX&some=XXX&some=XXX';

$response = wp_safe_remote_get( 

    $request_url, 

    array(
        'timeout' => 300
    )
);

- 在我的网站上

  1. 主题有[3个文件:style.css,functions.php和verify.php],而verify.php有这一行[ do_action('xxx')]。

  2. 插件在构造函数中有[add_action('xxx')]来执行验证过程,当然我在这里包含了我的秘密密钥..

  3. 收集$ _GET params并验证然后使用[print_r]返回一个包含结果的数组,以便最终结果完全来自浏览器Inspect Element

    BODY_TAG>

    阵列(           [API_RESULT] =>数组('verified'=> true);   )

    /体>

  4. 问题

    在客户端我收到了之前的数组但是除了很多包含的脚本和css路径属于我的WordPress网站,所以... ...

    1. 我只需要收到没有其他包含文件的响应正文。
    2. 这够安全吗?
    3. 是否有针对此方案的解决方案,例如创建PHP文件而不是WordPress网站,但会更安全吗?
    4. 感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

<强> 1。服务器端

如果您需要将数组发送到客户端,请执行您需要的进程然后打印序列化数组。

<强>的index.php

do_action( 'YOUR_ACTION_NAME', 'VAR_1', 'VAR_2' );

<强> class_processes.php

function __construct() {

    add_action( 'YOUR_ACTION_NAME', array( &$this, '__Trigger_User_Action' ), 10, 2 );

}

public function __Trigger_User_Action( $seller_name = '', $token_type ) {

    $user_final_data = array();

    // Do Some

    die( serialize( $user_final_data ) );

}

<强> 2。客户端

$request_url = 'https://DOMAIN.XXX/user_processes?user_name=XXX&code=XXX';

$response = wp_safe_remote_get( 

     $request_url, 
         array(
            'timeout' => 300
         )
     );

     if( ! is_wp_error( $response ) ) {

         $body_data = wp_remote_retrieve_body( $response );

         if( ! is_wp_error( $body_data ) ) {

             $user_server_data = @unserialize( $body_data );

         }

     }

现在 $ user_server_data 包含您通过服务器在[打印]功能中传递的数组。