我想在我的插件中验证许可证。
用户在他的网站上输入令牌(由我提供),我想通过使用curl联系我的服务器来验证这一点。
例如,
插件中的代码:
function curl_url( $url ) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url );
$cr = curl_exec($ch);
curl_close($ch);
return $cr;
}
$confirm = 'https://my-website.com/some_folder/some_file.php?token=' . $token;
$response = json_decode( curl_url( $confirm ) );
在我的网站上的代码some_file.php:
if(isset($_GET['token'])){
validate();
}
function validate(){
$token= $_GET['token'];
//check if valid, provide response...
}
我的问题:
1.这是个多好多坏的办法,你给我什么建议?
1.什么是一些高级用户看到我的插件中的代码,然后使用此URL进行一些恶意攻击?
https://my-website.com/some_folder/some_file.php
1条答案
按热度按时间jyztefdp1#
目前,如果我尝试从另一个域访问我的服务器,我没有得到任何错误和请求工作,所以我不知道为什么我需要CURLOPT_CAINFO. - Toniq
比较两个域之间的结果。
curl_getinfo非常有用。
其他有用的 curl 信息。
选项
您应该检查错误。
CURLE错误代码
你能提供这个标题的例子吗?- Toniq
将页眉添加到 curl :
当服务器收到时:
服务器读取头的代码:
看起来你可能是在你的头上。你应该知道这考虑到你正在尝试做什么。这是非常容易的一部分。你仍然需要处理SSL(CURLOPT_CAINFO)。
您可能需要指定SSL证书或CA的路径。
来自PHP手册的
curl_setopt
页面可以使用CURLOPT_CAINFO选项指定要验证的备用证书,或者使用CURLOPT_CAPATH选项指定证书目录。
在url脚本中,尝试以下代码以获取请求的详细信息。
它应该可以帮助您找到请求中的问题。
我已经用了很多年了,它帮助了我很多次。
我把这段代码复制了一个PHP脚本,下面就是这个脚本。
您可以使用此链接作为您的curl URL。
LINK to the code below