dimns/simplecsrf
Composer 安装命令:
composer require dimns/simplecsrf
包简介
Simple CSRF-token class to prevent CSRF attacks. For forms and AJAX requests.
README 文档
README
Simple CSRF-token class to prevent CSRF attacks
Requirements
- PHP 5.3 or higher is required.
Composer installation
- Get Composer.
- Require SimpleCSRF with
php composer.phar require dimns/simplecsrforcomposer require dimns/simplecsrf(if the composer is installed globally). - Add the following to your application's main PHP file:
require 'vendor/autoload.php';.
Usage with FORM
php
<?php require 'vendor/autoload.php'; session_start(); // Init class $csrf = new \DimNS\SimpleCSRF(); // Default session name: csrf_token // Init class with other session name $csrf = new \DimNS\SimpleCSRF('my_session_name'); // Getting a token for forms $csrf_token = $csrf->getToken(); // Checking the token if ($csrf->validateToken($_POST['_token'])) { echo 'Token correct'; } else { echo 'Invalid token'; }
html
<form action="index.php" method="post"> <input type="text" name="login"> <input type="password" name="password"> <input type="hidden" name="_token" value="<?=$csrf_token?>"> <input type="submit" value="GO!"> </form>
Usage with AJAX
php
<?php require 'vendor/autoload.php'; session_start(); // Init class $csrf = new \DimNS\SimpleCSRF(); // Default session name: csrf_token // Init class with other session name $csrf = new \DimNS\SimpleCSRF('my_session_name'); // Generate a token for forms $csrf_token = $csrf->getToken(); // Checking the token if ($csrf->validateToken($_SERVER['HTTP_X_CSRFTOKEN'])) { // Token correct } else { // Invalid token }
html
<head> <meta name="_token" content="<?=$csrf_token?>"> </head>
javascript
// jQuery $.ajaxSetup({ beforeSend: function (xhr, settings) { if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) { xhr.setRequestHeader("X-CSRFToken", $('meta[name="_token"]').attr('content')); } } });
dimns/simplecsrf 适用场景与选型建议
dimns/simplecsrf 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 436 次下载、GitHub Stars 达 1, 最近一次更新时间为 2016 年 06 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「csrf」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 dimns/simplecsrf 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 dimns/simplecsrf 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 dimns/simplecsrf 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Symfony bundle which provides a simple way to add CSRF tokens to routes
Stk CSRF service and middleware
Cross Site Request Forgery security component.
Slim Framework 3 CSRF protection middleware utilities
A jQuery augmented PHP library for creating and validating HTML forms
Cross site request forgery firewall bundle for Symfony2
统计信息
- 总下载量: 436
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 18
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-06-28