banujan6/csrf-handler

PHP 的 CSRF 令牌验证库

2.1.3 2020-05-08 07:39 UTC

This package is auto-updated.

Last update: 2024-09-15 00:21:46 UTC


README

PHPCSRF 保护 类文件。

再见,版本 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 许可证