athens/csrf

此软件包最新版本(2.1.0)没有可用的许可证信息。

简单的CSRF保护

2.1.0 2016-11-02 20:40 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:52:59 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()也会将CSRF_TOKEN变量插入到您的javascript中

    <!--output html-->
    ...
    <head>
        <script>var CSRFTOKEN = '37328bc2cac3e73623bc38ab0f4068ee7fa1';</script>
    ...

此令牌不会自动包含在您的AJAX请求中,但您可以通过在提交脚本中引用CSRFTOKEN变量来手动包含它。

兼容性

  • PHP 5.5, 5.6, 7.0

待办事项

请参阅GitHub 问题跟踪器

参与贡献

请随时提交拉取请求或问题。 GitHub 是此项目的官方位置。

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

  1. 问题跟踪器中打开一个问题。
  2. 无特定顺序
  • 提交一个包含显示问题/功能的失败测试的拉取请求。
  • 获得确认/同意。
  1. 修改您的拉取请求以通过(2)中的测试。如果适用,包括文档。