Php 在Laravel中,如何过滤reuqest对象上的字符串以获取中间件中的所有输入?

Php 在Laravel中,如何过滤reuqest对象上的字符串以获取中间件中的所有输入?,php,mysql,laravel,sql-injection,middleware,Php,Mysql,Laravel,Sql Injection,Middleware,让我详细解释一下 我想为注入字符串保护查询字符串变量 URL:选择-- 就像你们在上面的URL中看到的那个样,有一些意想不到的字符串,我想在使用$request对象在控制器上获取该字符串时对其进行修剪 例如:$start_date=$request->get('start_date') 然后我直接使用这个$start\u日期进行查询 我不想在这个问题上使用validator,我怎么能在所有输入中使用中间件(不限于开始日期) 获取所有输入和条带标记并删除特殊字符您已经有了名为TrimStrings

让我详细解释一下

我想为注入字符串保护查询字符串变量

URL:选择--

就像你们在上面的URL中看到的那个样,有一些意想不到的字符串,我想在使用$request对象在控制器上获取该字符串时对其进行修剪

例如:$start_date=$request->get('start_date')

然后我直接使用这个$start\u日期进行查询 我不想在这个问题上使用validator,我怎么能在所有输入中使用中间件(不限于开始日期)
获取所有输入和条带标记并删除特殊字符

您已经有了名为TrimStrings的Middlware,它通常位于

/app/Http/Middlware/TrimStrings.php
之后,您可以覆盖函数
transform
,使其看起来像这样


首先,您应该使用准备好的语句进行查询。。。您不应该直接将用户输入放入原始文件中query@lagbox它是laravel,并且已经使用了PDO,但即使是我也不希望在该语句中出现这种情况。我是否正确地理解了您想要删除一个文本
”;选择--所有输入的子字符串?为什么?OP想要解决方案有人已经告诉他这样做是错误的。但这就是他想要的,否则我就错了?@PetyoTsonev看起来这对我有用。。让我用我的需求测试一下,应用输入总是一个坏主意。假设在一个字段中,我发送的高度为
5'6“
您的函数将转换为一个无法理解的怪物
5'6&;引用。这就是为什么有Exception属性,您可以在其中禁用对不需要的输入的检查。对不对?我反对这种做法,我自己也决不会这样做。但是OP需要帮助,因为这是他的要求,我们帮助他。正如我所说的,我想他已经知道这不是一个好的做法。我不确定OP是否已经知道这不是一个好的做法。