curl发送引用URL
问题描述:
我想要做的是,当请求是从任何服务器进行我想获取引用URL所以我可以检查这个URL是否被允许访问我的文件或不,我有一些插件并在管理端检查更新,他们将检查连接我的网站的版本。所以,这些插件是在客户端网站上注册的。curl发送引用URL
这是我的卷发代码发送引荐人,但我想秘密发送引荐人,所以没有人可以轻松地更改我的代码。
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;
}
我希望你能理解我。或者如果你有更好的解决方案来完成这项工作,比如检查我的客户的许可证,那么这将非常棒! 如果您认为这个问题不好或不能在评论中解释清楚,请让我知道。
在此先感谢。
答
如果我没有做任何愚蠢的错误,这应该这样做:
委托方
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.
}
+0
感谢您的代码,但没有引荐ID,只有域将被用于验证。 – M3Dev 2014-10-27 06:14:44
你是什么意思,但我想秘密发送referrer,所以没有人可以轻易地更改我的代码。你想发送一些身份证明/密码与要求?比你为什么要使用referer呢?无论你从服务器发送的是你的服务器还是远程服务器。 '只需通过普通的加密就可以完成这项工作,比如检查我的客户的许可证,而这些工作并不重要。 – Cheery 2014-10-27 05:33:47
@Cheery忽略这一行,你能帮我把秘密地发送给客户的域名吗?而已。顺便说一句,我想秘密发送我的客户域名,所以没有人可以很容易地看到这个许可证检查代码是如何工作的,因为我想检查客户端的域名。 (: – M3Dev 2014-10-27 05:36:24
为什么你不能使用$ _POST发送数据的任何原因?那么你不需要隐藏查询字符串中的引用id。请参阅[这里](http://*.com/questions/28395/通过post-values-with-curl)如何使用$ _POST发送数据 – arkyc 2014-10-27 05:38:05