我想要做的是,当从任何服务器发出请求时,我想获取引荐来源网址,以便我可以检查是否允许此网址访问我的文件,我有一些插件和更新检查管理员方面他们将检查连接我的网站的版本。因此,插件已在客户端站点注册。
这是我的curl代码发送引用,但我想秘密发送引用,所以没有人可以轻松地更改我的代码。
public function checkUpdate($task , $product) {
$parameters = array(
'task' => $task,
'product' => $product,
'domain' => $_SERVER['HTTP_HOST']
);
$curl = curl_init();
$parameters_str = '';
$url = "http://example.com";
foreach ($parameters as $key => $value) {
$parameters_str .= "$key=$value&";
}
$url .= "?$parameters_str";
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_REFERER, $_SERVER['HTTP_HOST']);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
我希望你理解我。或者,如果您有更好的解决方案来完成这项工作,比如检查我的客户的许可证,那么它会很棒! 如果您认为问题不好或不在评论中解释,请告诉我。
提前致谢。
答案 0 :(得分:0)
如果我没有犯过任何愚蠢的错误,应该这样做:
请求方
public function checkUpdate($task , $product) {
$referral id = 'abcd12345';
//you already had an array of parameters. I just added a referral id parameter. You can then pass
//this array as $_POST.
$parameters = array(
'task' => $task,
'product' => $product,
'domain' => $_SERVER['HTTP_HOST'],
'ref_id' => $referral id
);
$url = "http://example.com";
//unsure of any other curl parameters you need.
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $parameters);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
在服务器端进行处理。我假设它在example.com的索引文件中?
if (isset($_POST['ref_id']))
{
//do whatever you want with the referral id.
}
if (isset($_POST['domain']))
{
//do whatever you want with domain.
}