laswitchtech / php-csrf
PHP 应用程序的 CSRF 保护库
v1.1.5
2024-04-03 18:18 UTC
Requires
README
phpCSRF - [已弃用] - 使用 coreCSRF 代替
描述
该类是 PHP 的 CSRF 令牌生成和验证系统的实现。CSRF(跨站请求伪造)是一种攻击,攻击者通过代表用户发送伪造请求,欺骗用户在网站上执行不希望的操作。
特性
- 使用加密安全的随机数生成器生成 CSRF 令牌。
- 使用默认字段名 'csrf' 用于检索和验证令牌,但允许通过构造函数设置自定义字段名。
- 支持通过 generate 方法设置令牌的长度,默认长度为 32 字节。
- 使用 phpLogger 类将错误消息记录到文件中,并将 IP 地址信息包含在日志条目中。
- 配置cookie安全设置,以帮助防止跨站脚本(XSS)和跨站请求伪造(CSRF)攻击。
为什么你可能需要它?
此类为 PHP 中 CSRF 令牌生成器和验证器提供了一个简单的实现。它旨在易于使用,同时仍提供足够的预防措施来防止 CSRF 攻击。
CSRF 攻击发生在恶意用户欺骗已认证用户在 Web 应用程序上执行未意图的操作时。为了防止这些攻击,将生成 CSRF 令牌并将其添加到要提交的表单中。当表单提交时,验证令牌以确保它与预期值匹配。如果令牌无效,则拒绝请求。
我能使用它吗?
当然可以!
许可证
本软件根据 GNU 通用公共许可证 v3.0 许可证分发。请阅读 LICENSE 了解有关软件可用性和分发的信息。
要求
- PHP >= 7.0.0
安全
请负责任地披露发现的任何漏洞 - 向维护者私下报告安全问题。
安装
使用 Composer
composer require laswitchtech/php-csrf
如何使用它?
示例
初始化 CSRF
//Import CSRF class into the global namespace //These must be at the top of your script, not inside a function use LaswitchTech\phpCSRF\phpCSRF; //Load Composer's autoloader require 'vendor/autoload.php'; //Initiate CSRF $phpCSRF = new phpCSRF();
验证令牌
//Import CSRF class into the global namespace //These must be at the top of your script, not inside a function use LaswitchTech\phpCSRF\phpCSRF; //Load Composer's autoloader require 'vendor/autoload.php'; //Initiate CSRF $phpCSRF = new phpCSRF(); //Validation $phpCSRF->validate(); // Returns Boolean
检索 CSRF 令牌
//Import CSRF class into the global namespace //These must be at the top of your script, not inside a function use LaswitchTech\phpCSRF\phpCSRF; //Load Composer's autoloader require 'vendor/autoload.php'; //Initiate CSRF $phpCSRF = new phpCSRF(); //Token $phpCSRF->token(); // Returns Token