2017 © Pedro Peláez
 

library cookie-csrf

laravel4 自定义filter 用于防止多次提交表单及跨域提交表单

image

hardywen/cookie-csrf

laravel4 自定义filter 用于防止多次提交表单及跨域提交表单

  • Tuesday, May 19, 2015
  • by HardyWen
  • Repository
  • 1 Watchers
  • 1 Stars
  • 564 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

cookie-csrf

改写一个 laravel 的 csrf filter。原来的的方式需要将token放到表单字段里一起提交。比较麻烦。 重新改写一个 cookie-csrf filter, 功能如下:

2. token值使用后马上重新生成一个新token,可以有效防止重复提交。

Install

添加 "hardywen/cookie-csrf": "v0.2.1" 到 composer.json 里, (*1)

运行 composer update 命令安装, (*2)

Config

默认的配置是:, (*3)

//路由白名单,pattern通过的就调用此filter,用于设定哪些链接调用
    'white_list' => array(
        '*'
    ),

    //路由黑名单,pattern通过的就【不】调用此filter,用于排除哪些链接调用
    'black_list' => array(
        'orders/notify/*' // 支付回调之类的外站调用本站接口链接
    ),

    'method' => array(
        'post',
        'put',
        'delete'
    )

即所有路径的 post,put,delete 方法都进行 cookie-csrf 过滤。, (*4)

你可以运行 php artisan config:publish hardywen/cookie-csrf 复制出配置文件,然后改按你的需要来配置。, (*5)

route=>'',则不自动使用cookie-csrf, 你可以自己按需要去手动调用 cookie-csrf 过滤。, (*6)

Others

除了服务端进行防止重复提交之外,前台也应该用js防止重复提交表单的设置。例如防止jQuery ajax重复提交可以按以下方式配置:, (*7)

//setup ajax default options
        var formSubmitting = false; // 防止ajax重复提交
        $.ajaxSetup({
            beforeSend: function () {
                if (formSubmitting) {
                    return false;
                } else {
                    formSubmitting = !formSubmitting;
                }
            },
            complete: function (xhr, status) {
                formSubmitting = !formSubmitting;
            }
        });

jQuery的ajax配置,在每次进行ajax之前需要判断一下是否正在处理表单,如果formSubmitting为true是,不会再提交。等ajax完成后,再将formSubmitting改回false。, (*8)

防止直接提交表单的方式如下(点击submit按钮后将其disable,就不能再次点击了): js //防止重复提交表单 $("form").submit(function () { $(":submit", this).attr("disabled", "disabled"); });, (*9)

The Versions

19/05 2015

dev-master

9999999-dev

laravel4 自定义filter 用于防止多次提交表单及跨域提交表单

  Sources   Download

MIT

The Requires

 

by Avatar HardyWen

laravel php laravel 4 csrf multiple submission

19/05 2015

v0.2.1

0.2.1.0

laravel4 自定义filter 用于防止多次提交表单及跨域提交表单

  Sources   Download

MIT

The Requires

 

by Avatar HardyWen

laravel php laravel 4 csrf multiple submission

19/05 2015

v0.2

0.2.0.0

laravel4 自定义filter 用于防止多次提交表单及跨域提交表单

  Sources   Download

MIT

The Requires

 

by Avatar HardyWen

laravel php laravel 4 csrf multiple submission

13/05 2015

v0.1

0.1.0.0

laravel4 自定义filter 用于防止多次提交表单及跨域提交表单

  Sources   Download

MIT

The Requires

 

by Avatar HardyWen

laravel php laravel 4 csrf multiple submission