uwdoem/csrf

此包已被废弃,不再维护。作者建议使用 athens/csrf 包。
此包的最新版本(2.1.0)没有可用的许可信息。

简单的CSRF保护

2.1.0 2016-11-02 20:40 UTC

This package is not auto-updated.

Last update: 2019-02-20 18:40:13 UTC


README

Build Status Code Climate Test Coverage Latest Stable Version

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 是此项目的规范位置。

以下是代码贡献的一般顺序

  1. 问题跟踪器 中打开一个问题。
  2. 任何顺序
  • 提交一个带有 失败的 测试的pull请求,以演示问题/功能。
  • 获得认可/一致。
  1. 修改您的pull请求以通过(2)中的测试。如有适当,请包含文档。