一种实现前端所有请求添加签名校验的方法
为了防止前端接口数据被恶意篡改以及程序批量请求,在 Request Header 中可以添加公共的签名字段,该字段采用SHA256对请求的参数按照一定规则进行加密,后端服务器接收到请求后,使用加密私钥对该请求的参数进行同样规则加密,若签名字段相同,则代表该请求为有效请求。
以下为在 Nextjs 中添加该实现的一种方式。
要使用 HMAC-SHA256 实现数据签名,可以利用 CryptoJS
提供的 HmacSHA256
方法。这种方式比简单的 SHA256
加密更加安全,因为它结合了私钥与数据进行加密,防止数据篡改。