详解用 MiniFramework 框架实现 PHP 对 GET 或 POST 请求参数进行签名校验的方法

本文介绍了如何使用MiniFramework框架对GET或POST请求参数进行签名和有效期校验,以防止非法请求和确保请求时效性。通过创建控制器的sign和verifysign方法,结合sha1加密算法生成和验证签名,设置签名有效期为30秒,确保接口安全。
摘要由CSDN通过智能技术生成

在一些特殊场景下,我们可能希望对于 GET 或 POST 进入到接口的数据进行签名和有效期的校验,例如 APP 请求后端接口的场景,我们通常需要考虑两个问题:

问题 1:如何避免攻击者在捕获到接口请求后,自行构造请求参数,向接口发送请求,而不通过 APP 的正常界面进行操作。

问题 2:在接口请求不可避免能被捕获的情况下,如何确保每一次请求能够过期,不被反复的利用,例如投票刷票的问题。

基于上面两个问题,我们在设计接口时,就需要通过给请求参数进行签名的方式来对数据来源和有效期进行校验。下面将以 MiniFramework 框架为例,演示如何通过 MiniFramework 框架来实现对请求参数进行签名和签名校验的方法。

首先,我们创建一个名为 Index 的控制器,并在控制器中创建名为 sign 和 verifysign 两个动作方法,分别用于生成签名,和校验签名,具体代码如下:

<?php
// 声明控制器命名空间
namespace App\Controller;

// 加载动作类
use Mini\Base\Action;

// 加载签名类
use Mini\Security\Sign;


class Index extends Action
{
    /**
     * 生成签名
     */
    function signAction()
    {
        // 待签名的数据
        $data = [

            // 假设我们要通过GET方式传递参数info=MiniFramework
            'info' => 'MiniFrame
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值