【发布时间】:2018-04-09 04:14:06
【问题描述】:
大家好,我正在使用 curl 将数据从一个网站推送到另一个网站,它现在工作得很好,但我想在接收方 url 中添加一个令牌或 apikey 或密钥。我如何在接收方代码中写入。令牌或 apikey 或密钥是否匹配。但 apikey 或令牌不是来自数据库。 下面是我的代码
此代码在发送端:使用 curl 和参数 apikey
$payload = json_encode(array("users" => $json['users']));
$post_json = json_encode($content);
$apikey = 'OTM2NTQ0MwMTA3MDYxMQNDAxOTU2MwMTA4MDQ1MgMzIzMDAyMA';
$endpoint = 'http://localhost/apib/data.php?apikey='.$api_key;
$ch1 = @curl_init();
@curl_setopt($ch1, CURLOPT_POST, true);
@curl_setopt($ch1, CURLOPT_POSTFIELDS, $payload);
@curl_setopt($ch1, CURLOPT_URL, $endpoint);
@curl_setopt($ch1, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
@curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
$response = @curl_exec($ch1);
$status_code = @curl_getinfo($ch1, CURLINFO_HTTP_CODE);
$curl_errors = curl_error($ch1);
@curl_close($ch1);
/*echo "curl Errors: " . $curl_errors;
echo "\nStatus code: " . $status_code;
echo "\nResponse: " . $response;*/
echo "\nResponse: " . $response;
在其他网站的数据如下:我如何在这里为apikey编写代码
\$jfile = file_get_contents('php://input');
$final_res = json_decode($jfile, true) ;
$dataaa = $final_res['users'];
$apikey;
global $db;
$db = mysqli_connect("localhost", "root", "", "apis");
if($db === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
现在我想通过 api key 发送数据..如何在接收端写入是否正确
【问题讨论】:
-
您可以使用初始值加密您的数据,然后将 HMAC 附加到它。如果做得正确,这将确保您的数据没有被从表单网页 A 到网页 b 篡改。网页 A 和 B 共享相同的密钥。我会推荐使用 libSodium 加密库。这是一个讨论这个的链接。 paragonie.com/blog/2015/05/…
-
no no .i just want like apikey in senderside 应该匹配 apikey 接收方
-
请看我更新的答案。