2017-04-11 52 views
0

我知道这是一个有点复杂,但有很多的使用此方案对我的好处,如何从一个WordPress网站发送HTTPS响应另一个

我工作的一个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.ph p],并且verify.php具有此行[do_action('xxx')]。

  2. 的插件有[ADD_ACTION(“XXX”)]在构造函数中做了核查进程,我当然这里包括了我的秘密KEY ..

  3. 收集$ _GET PARAMS和验证,然后返回阵列使用[print_r的]因此最终结果恰好这样从浏览器的结果检查元素

    BODY_TAG>

    阵列( [API_RESULT] =>阵列( '已验证'=> TRUE); )

    /BODY>

的问题

在我收到了前一阵的客户端但除了大量的包括脚本和CSS路径是属于我的WordPress网站,所以...

  1. 我需要只接收响应身体没有其他包含的文件。
  2. 那够安全吗?
  3. 是否有解决方案,这种情况下就像创建一个PHP文件而不是一个WordPress站点,但会更安全?

感谢您的帮助。

+0

我读过这个部分:'不幸的是验证API需要一个秘密密钥(属于我,不能包含在项目中)''。所以..你有没有使用公/私钥? – Mjh

+0

我在我的网站的插件中包含了这个秘密密钥,当然要进行验证过程,不能包含在客户端项目中 –

回答

0

1.服务器端

如果你需要一个数组发送到客户端,做你的流程然后,您需要打印序列化的阵列。

指数。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包含您在[打印]函数传递数组通过你的服务器。

相关问题