banujan6 / csrf-handler
PHP 的 CSRF 令牌验证库
2.1.3
2020-05-08 07:39 UTC
Requires
- php: >=5.5.0
README
PHP 的 CSRF 保护 类文件。
再见,版本 1.0!
我们发布了版本 2,实现更完善。 :)
请注意:我们不再维护此项目。请考虑使用具有内置更好安全性的 PHP 框架。
函数
安装
通过 Composer
需要此包。
composer require banujan6/csrf-handler
使用命名空间和类。
<?php //If you are using any frameworks, It will load autoload.php automatically. So you don't need. require_once __DIR__ . '/../../vendor/autoload.php'; use csrfhandler\csrf as csrf; ?>
包含文件
下载目录 src 中的 csrf.php 文件。然后将其包含到您的 PHP 文件中。
<?php require_once("path/csrf.php"); use csrfhandler\csrf as csrf; ?>
用法
此 CSRF-Handler 会查找名为 form-data / url-parameter 的 _token。为了验证请求,POST 请求必须在 form-data 中包含 _token。而 GET 请求必须在 url-parameter 中包含 _token。
生成令牌
<form> <input type="hidden" name="_token" value="<?php echo csrf::token(); ?>"> </form>
验证请求
仅 GET 请求
$isValid = csrf::get(); // return TRUE or FALSE if ( $isValid ) { //Do something if valid } else { //Do something if not vaid }
仅 POST 请求
$isValid = csrf::post(); // return TRUE or FALSE if ( $isValid ) { //Do something if valid } else { //Do something if not vaid }
GET 和 POST 请求
$isValid = csrf::all(); // return TRUE or FALSE if ( $isValid ) { //Do something if valid } else { //Do something if not vaid }
清除所有活动令牌
csrf::flushToken(); // will destroy all active tokens
示例
您可以在 example/ 目录中找到基本示例。
许可
MIT 许可证