服务器端数据合法性验证:签名sign和口令token原理

本文探讨了服务器端数据合法性验证的方法,包括sign验证和token验证。sign验证通过私钥和特定算法确保数据未被篡改,而token验证则涉及令牌的生成、时效性和使用限制,用于保护接口安全,防止未授权访问。这两种方法广泛应用于第三方接口,如美团外卖和微信等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候,你也许会想:

我写的接口,那别人要是知道url,并且知道其需要的数据结构和逻辑,那不是都可以访问了?

甚至是,客户点传递过来的数据,是不是被恶意修改了?

这时,我们可能需要“验证”一下。比如:登录验证,只有登录以后才能来到后台。


这里给出几种【验证】方式,大神勿喷:

1:sign验证法:

这种验证方式,一般过程是:

第一:给你一个【私钥】[app_secret] 和[app_id]

第二:你要提交的所有数据都需要提供sign签名。

第三:sign签名的获取方式。

例如:给用户id为99的人增加100积分:

$app_id = 'Te001';
$secret = 'e10adc3949ba59abbe56e057f20f883e';

$url = 'http://127.0.0.1/test/apiDataCheck';
$post = array(
    'user_id' => 99,
    'point' => 100
);


function addSign($url, $data){
    $str = '';
    $data['app_id'] = $app_id;
    ksort($data);
    foreach($data as $k => $v){
        $str .= $k.'='.$v.'&';
    }
    $str = substring($str, 0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值