回答

收藏

按键精灵交互存储

功能扩展介绍 功能扩展介绍 65 人阅读 | 0 人回复 | 2025-03-26

关于按键精灵模块采集数据交互说明,GP引擎提交方式为http或https,由客户定义路径后由我们设置对接,对接完成后我们会提供一个sign值给到客户,客户自己根据值进行数据采集


Url传输
参数名称参数说明
HTTP URL Url路径(自行存放,只需要把路径提供给GP对应代理即可)

提交数据 - 提交的数据采用了RC4算法加密,以下所有值都是由GP引擎加密后的数据
参数名称 参数类型 参数说明
Sign String 此值为申请对接后,由GP提供给客户
Time String 使用者时间(需RC4算法解密)
Cdkey String 使用者账号(需RC4算法解密)
Passwd String 使用者密码(需RC4算法解密)
IP String 使用者IP(需RC4算法解密)

以下是一个PHP模板,传输使用,您可以自由修改,例:存储到数据库 。本例程只存储到根目录下的 根据SignKey创建的.txt文件(此处可自行修改名称,修改方式在代码的第20行
[Actionscript3] 纯文本查看 复制代码
$Wgfile = $Signkey.'.txt';//$Wgfile ='mmmm.txt'
文件参考例子
[PHP] 纯文本查看 复制代码
//你的sign
<?php
$Sign="xxxxxxxxxxxxxxxxxxxxxxxxxxxx";


if ($_GET['Sign'] === $Sign) {
        GetSafeClientData();
} else {
        exit(1);
}
function GetSafeClientData() {
        global $Sign;
        $Time = getSafeInput('Time','string');
        $Cdkey = getSafeInput('Cdkey', 'alphanum');
        $Passwd = getSafeInput('Passwd', 'alphanum');
        $IP = getSafeInput('IP','string');
        if ($Time === '' or $IP === '' or $Cdkey === '' or $Passwd === '') {
            exit(1);
        }
        $Wgfile = $Sign.'.txt';//可以自己填写
        $content = sprintf("[%s] 玩家账号:%s,玩家密码:%s,玩家IP:%s\n", $Time,$Cdkey, $Passwd,$IP);
      
        // 写入文件
        $result = file_put_contents($Wgfile, $content);

        exit(1);
}

function getSafeInput($key) {
        $input = $_GET[$key];
        if (!isset($input)) {
                return '';
        }
       $Val = Decrypt($input);
       $clean = trim(htmlspecialchars($Val, ENT_QUOTES | ENT_HTML5, 'UTF-8'));
        // 按类型处理
        switch ($type) {
            case 'alphanum':
                  return preg_match('/^[a-zA-Z0-9]+$/', $clean) ? $clean : '';
             default: // string
                  return preg_replace('/[^\w\s\-@\.\,\!\?\:\.]/', '', $clean);
        }
}

function Rc4 ($pwd, $data) {
        $key[] ="";
        $box[] ="";
        $pwd_length = strlen($pwd);
        $data_length = strlen($data);
        for ($i = 0; $i < 256; $i++) {
                $key[$i] = ord($pwd[$i % $pwd_length]);
                $box[$i] = $i;
        }
        for ($j = $i = 0; $i < 256; $i++) {
                $j = ($j + $box[$i] + $key[$i]) % 256;
                $tmp = $box[$i];
                $box[$i] = $box[$j];
                $box[$j] = $tmp;
        }
        for ($a = $j = $i = 0; $i < $data_length; $i++) {
                $a = ($a + 1) % 256;
                $j = ($j + $box[$a]) % 256;
                $tmp = $box[$a];
                $box[$a] = $box[$j];
                $box[$j] = $tmp;
                $k = $box[(($box[$a] + $box[$j]) %256)];
                @$cipher .= chr(ord($data[$i]) ^ $k);
        }
        return $cipher;
}
function Decrypt($string) {
        global $Sign;
        return  @Rc4($Sign,pack('H*',$string));
}
?>



分享到:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

400 积分
41 主题