2017-04-11 106 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包含您在[打印]函數傳遞數組通過你的服務器。

相關問題