游戏防沉迷系统相关内容

网站地址: 网络游戏防沉迷实名认证系统

PHP代码:

创建对应文件,在需要的位置get传参请求即可,具体参数参考 网络游戏防沉迷实名认证系统接口对接技术规范v2.0

1、上传信息

复制代码
<?php
$url  ="https://wlc.nppa.gov.cn/test/authentication/check";

$config['appid'] = $_GET['appid'];

$config['bizid'] = $_GET['bizid'];

$config['timestamps'] = microsecond();

$config['secretKey'] =  $_GET['secretKey'];

$data['data'] = aesGcm($_GET['data'],$config['secretKey']);

$data = json_encode($data);
$str = $config['secretKey'].'appId'.$config['appid'].'bizId'.$config['bizid'].'timestamps'.$config['timestamps'].$data;

$config['sign'] = hash("sha256", $str);

$return = doHttpPost($url,$data,$config);

echo $return;

function aesGcm($data,$key)
{
        $key = hex2bin($key);
        $cipher = "aes-128-gcm";
        $ivlen = openssl_cipher_iv_length($cipher);
        $iv = openssl_random_pseudo_bytes($ivlen);
        $encrypt = openssl_encrypt($data, $cipher, $key, OPENSSL_RAW_DATA,$iv,$tag);
        return base64_encode(($iv.$encrypt.$tag));
}

function doHttpPost($url, $data,$config, $options = null)
{
        $headerArray =array('Content-Type:application/json;charset=utf-8','appId:'.$config['appid'],'bizId:'.$config['bizid'],'timestamps:'.$config['timestamps'],'sign:'.$config['sign']);
        
        //$header =array('Content-Type'=>'application/json;charset=utf-8','appId'=>$config['appid'],'bizId'=>$config['bizid'],'timestamps'=>$config['timestamps'],'sign'=>$config['sign']);
        
        
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
        
}
    
//时间戳
function microsecond()
{
        $t = explode(" ", microtime());
        $microsecond = round(round($t[1].substr($t[0],2,3)));
        return $microsecond;
}

2、查询信息

复制代码
<?php
$ai = $_GET['ai'];

$url  ="http://api2.wlc.nppa.gov.cn/idcard/authentication/query?ai=".$ai;

$config['appid'] = $_GET['appid'];

$config['bizid'] = $_GET['bizid'];

$config['timestamps'] = microsecond();

$config['secretKey'] =  $_GET['secretKey'];

$str = $config['secretKey'].'ai'.$ai.'appId'.$config['appid'].'bizId'.$config['bizid'].'timestamps'.$config['timestamps'];

$config['sign'] = hash("sha256", $str);

$return = doHttpGet($url,$data,$config);

echo $return;

function doHttpGet($url, $data,$config, $options = null)
{
        $headerArray =array('appId:'.$config['appid'],'bizId:'.$config['bizid'],'timestamps:'.$config['timestamps'],'sign:'.$config['sign']);
  
        $curl = curl_init();
        //设置抓取的url
        curl_setopt($curl, CURLOPT_URL, $url);
        //设置头文件的信息作为数据流输出
        curl_setopt($curl, CURLOPT_HEADER, 0);
        // 超时设置,以秒为单位
        curl_setopt($curl, CURLOPT_TIMEOUT, 1);
     
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headerArray);
        //设置获取的信息以文件流的形式返回,而不是直接输出。
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        //执行命令
        $data = curl_exec($curl);
        
        return $data;
}
    
//时间戳
function microsecond()
{
        $t = explode(" ", microtime());
        $microsecond = round(round($t[1].substr($t[0],2,3)));
        return $microsecond;
}

3、行为上报

复制代码
<?php
$url  ="https://api.wlc.nppa.gov.cn/idcard/authentication/check";

$config['appid'] = $_GET['appid'];

$config['bizid'] = $_GET['bizid'];

$config['timestamps'] = microsecond();

$config['secretKey'] =  $_GET['secretKey'];

$collections  = json_decode($_GET['collections'],true);

$collections  = json_encode(array('collections'=>array($collections)));

$data['data'] = aesGcm($collections,$config['secretKey']);

$data = json_encode($data);

$str = $config['secretKey'].'appId'.$config['appid'].'bizId'.$config['bizid'].'timestamps'.$config['timestamps'].$data;

$config['sign'] = hash("sha256", $str);

$return = doHttpPost($url,$data,$config);

echo $return;

function aesGcm($data,$key)
{
        $key = hex2bin($key);
        $cipher = "aes-128-gcm";
        $ivlen = openssl_cipher_iv_length($cipher);
        $iv = openssl_random_pseudo_bytes($ivlen);
        $encrypt = openssl_encrypt($data, $cipher, $key, OPENSSL_RAW_DATA,$iv,$tag);
        return base64_encode(($iv.$encrypt.$tag));
}

function doHttpPost($url, $data,$config, $options = null)
{
        $headerArray =array('Content-Type:application/json;charset=utf-8','appId:'.$config['appid'],'bizId:'.$config['bizid'],'timestamps:'.$config['timestamps'],'sign:'.$config['sign']);
        
        //$header =array('Content-Type'=>'application/json;charset=utf-8','appId'=>$config['appid'],'bizId'=>$config['bizid'],'timestamps'=>$config['timestamps'],'sign'=>$config['sign']);
        
        
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
        
}
    
//时间戳
function microsecond()
{
        $t = explode(" ", microtime());
        $microsecond = round(round($t[1].substr($t[0],2,3)));
        return $microsecond;
}
相关推荐
264玫瑰资源库1 小时前
问道数码兽 怀旧剧情回合手游源码搭建教程(反查重优化版)
java·开发语言·前端·游戏
微网兔子2 小时前
伺服器用什么语言开发呢?做什么用什么?
服务器·c++·后端·游戏
二狗哈6 小时前
制作一款打飞机游戏20:敌人被击中时的视觉效果
游戏
二狗哈6 小时前
制作一款打飞机游戏19:碰撞检测
数码相机·游戏
酷讯网络_24087016014 小时前
海外版高端Apple科技汽车共享投资理财系统
学习·游戏·开源·汽车
程序猿多布16 小时前
网络开发基础(游戏)之 粘包分包
网络·游戏·c#
李匠20241 天前
C++学习之游戏服务器开发十五QT登录器实现
服务器·c++·学习·游戏
Sui_Network1 天前
全能 Sui 技术栈,构建 Web3 的未来
人工智能·物联网·游戏·web3·区块链·智能合约
李匠20241 天前
C++学习之游戏服务器开发十四QT登录器实现
c++·学习·游戏
偶尔贪玩的骑士2 天前
Visual Studio2022 配置 SDL3及拓展库
c++·游戏·sdl