【问题标题】:PUT Method Restriction with ModSecurityModSecurity 的 PUT 方法限制
【发布时间】:2015-12-28 18:05:18
【问题描述】:

InmotionHosting 告诉我 PUT / DELETE 方法受 ModSecurity 限制。

他们告诉我直接 PUT 请求是不可能的,但我可以用 PHP 做到这一点。

他们还告诉我他们可以禁用这些限制,但它会使我的系统暴露于安全漏洞,因此不建议这样做。

我不太了解直接/间接PUT的概念...

更多,我不知道我应该在 PHP 中做什么来发出 PUT 请求而不直接这样做。

我正在使用 Laravel / PHP / Apache

有什么想法吗?

【问题讨论】:

  • 我不明白你的问题。 InmotionHosting 告诉你的根本不是真的。如果您使用PUT 请求,则没有安全隐患。当您查看原始的http 消息时,实际上并没有安全漏洞的可能性——它只是另一个 HTTP 动词。我建议更换托管服务提供商,如果那些家伙声称PUT 在 2015 年暴露了一些安全漏洞。那么他们不知道他们在说什么。

标签: php laravel put


【解决方案1】:

Laravel 的文档对此非常有用:Form Method Spoofing

现在在您的 laravel 路由器/控制器中,您可以检查 Request->input('_method')

if( Request->input('_method') === "put")
{
    //do something
    ...
}

您可以在该路由或控制器中专门为此表单运行代码。所以你真的不需要对这些命令敞开心扉,但你仍然可以处理它们。更多关于请求herehere的信息

【讨论】:

  • 我不明白的是,如果 PUT 方法是 REST 规范的一部分,为什么我不应该公开它?
  • 根据实际的 Web 服务器本身,这可能是一个导致某些特殊情况发生的命令。如果您在共享服务器上,则默认情况下禁用此功能,因为它可能导致文件从客户端上传到服务器上您不希望它们转到 Web 服务器本身在访问您的应用程序之前正在执行的位置。
  • @JuliatzindelToro 这回答了你的问题吗?
猜你喜欢
  • 2013-08-16
  • 2016-08-29
  • 2012-09-18
  • 2014-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多