crodas / csrf-token

生成CSRF tokens的简单方法

v1.0.0 2015-12-25 21:42 UTC

This package is auto-updated.

Last update: 2024-09-12 19:17:15 UTC


README

无状态CSRF-token生成和验证。

安装

composer require crodas/csrf-token:"^1.0"

属性

  1. 哈希值对每个IP是唯一的
  2. 它们需要一个站点密钥,因此哈希值无法伪造。
  3. 哈希值在一定时间后过期(默认:1小时)

如何使用它

初始化库

require __DIR__ . '/vendor/autoload.php';

CSRF::setSecret($strong_secret_key);

将其添加到您的表单中

<input type="hidden" name="_csrf" value="<?php echo CSRF::generate() ?>" />

然后验证哈希值是否合法且仍然有效

if (empty($_POST['_csrf']) || !CSRF::verify($_POST['_csrf'])) {
  throw new Exception("CSRF Token is invalid");
}