小编cha*_*i0k的帖子

无法为 Bots 用户验证 Telegram Web App

我尝试为机器人的电报网络应用程序执行用户验证脚本。我不知道如何解决它。哈希值和编码字符串相似但不相同。

Telegram 文章(文档): https: //core.telegram.org/bots/webapps#validating-data-received-via-the-web-app


$bot_token="5368097647:AAFU8jBho71pglrzDeGw6LawrVuMmxaxpEQ";
$data_check_string=$_POST['a'];
$data_check_string=explode("&", urldecode($data_check_string));

foreach ($data_check_string as &$arrvalue) {
    $hash="";
    if (substr($arrvalue, 0, 4)=='hash'){
        $hash=explode("=", $arrvalue)[1];
        break;
    }
}

sort($data_check_string);

$data_check_string=implode('\\n', $data_check_string);
$secret_key = $sig = hash_hmac('sha256', $bot_token, "WebAppData");

if (hash_hmac('sha256', $data_check_string, $secret_key) == $hash) {
    print("fromtg");
}
else{
    print("notg");
}

?>
Run Code Online (Sandbox Code Playgroud)

php telegram

3
推荐指数
1
解决办法
2010
查看次数

标签 统计

php ×1

telegram ×1