gpt4 book ai didi

ruby-on-rails - 将 GET 和 POST 请求路由到同一操作的安全隐患

转载 作者:行者123 更新时间:2023-12-03 16:08:25 26 4
gpt4 key购买 nike

Rails routing guide , 它说:

Routing both GET and POST requests to a single action has security implications. In general, you should avoid routing all verbs to an action unless you have a good reason to.



让相同的 Controller 操作同时响应 GET 和 POST 有什么安全隐患?

最佳答案

抛开安全不谈,如果单个操作现在处理多个方法,则需要您对 Controller 操作的实现做出相应的 react 。使用路由来定向到一个特定的 Action 比在 Action 中基于 HTTP 方法做“路由”更明显。希望它不太容易出错。

出于“安全”考虑:

  • 在编写 Action 时,处于一种或另一种思维框架中会更清晰;每个行动的单一目的导致更专注的方法。
  • GET请求旨在没有副作用,与 POST 相反和其他 HTTP 方法。撇开教条不谈,与验证用户输入、执行他们的操作、对成功或失败做出相应的 react 相比,呈现请求的内容非常简单。即使用用户数据执行操作是相对复杂的写入操作,不要通过添加另一个问题来使其复杂化。
  • GET与大多数其他响应相反,响应通常被认为是可缓存的。我想在安全方面可能会有一些有趣的探索。

  • 参数(例如:user_id)和 CSRF 攻击可能存在一些实际的技术安全问题(rails 使用 CSRF token 处理非 GET 请求的原因之一)但我认为无论如何编写应用程序都存在足够的潜在陷阱该票据有效;仅仅为了减少您拥有的操作数量而使操作复杂化是不值得的。

    关于ruby-on-rails - 将 GET 和 POST 请求路由到同一操作的安全隐患,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22835532/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com