uwdoem / csrf
2.1.0
2016-11-02 20:40 UTC
Requires (Dev)
- athens/standard: *
- codeclimate/php-test-reporter: dev-master
- phpdocumentor/phpdocumentor: 2.*
- phpunit/phpunit: 4.*
README
Athens/CSRF
轻松防御 CSRF 攻击。
安装
此库已在packagist上发布。要使用Composer安装,请将 "athens/csrf": "0.1.*"
行添加到您的 "require" 依赖项中
{
"require": {
...
"athens/csrf": "1.*",
...
}
}
当然,如果您不使用Composer,则可以通过右侧的 下载ZIP 按钮下载仓库。
使用
使用此包只需要两行代码
// Import the CSRF class
use Athens\CSRF\CSRF;
// Intialize
CSRF::init();
::init()
方法将自动将隐藏的CSRF令牌字段插入到您的表单中
<!--output html-->
...
<form>
<input type=hidden name=csrf_token value=37328bc2cac3e73623bc38ab0f4068ee7fa1>
...
此令牌将自动包含在任何表单提交中。
如果您通过AJAX执行表单提交,::init()
还会在您的javascript中插入一个 CSRF_TOKEN
变量
<!--output html-->
...
<head>
<script>var CSRFTOKEN = '37328bc2cac3e73623bc38ab0f4068ee7fa1';</script>
...
此令牌不会自动包含在您的AJAX请求中,但您可以通过在提交脚本中引用 CSRFTOKEN
变量来手动包含它。
兼容性
- PHP 5.5, 5.6, 7.0
待办事项
请参阅GitHub 问题跟踪器。
参与
请随意提交pull请求或问题。 GitHub 是此项目的规范位置。
以下是代码贡献的一般顺序
- 在 问题跟踪器 中打开一个问题。
- 任何顺序
- 提交一个带有 失败的 测试的pull请求,以演示问题/功能。
- 获得认可/一致。
- 修改您的pull请求以通过(2)中的测试。如有适当,请包含文档。