为什么 Laravel 默认情况下通过 POST 注销(而不是 GET)?
Why does Laravel, by default, logout via POST (As opposed to GET)?
在 Laravel 应用程序的上下文中,POST 执行注销的意义是什么?是否存在一些安全 and/or 会话特殊性,仅通过 GETing 进行 POSTing?
生成的相关部分make::auth
:
<ul class="dropdown-menu" role="menu">
<li>
<a
href="{{ url('/logout') }}"
onclick="event.preventDefault();document.getElementById('logout-form').submit();">
Logout
</a>
<form id="logout-form" action="{{ url('/logout') }}" method="POST" style="display: none;">
{{ csrf_field() }}
</form>
</li>
</ul>
GET 请求应该是“safe”并且不应该有任何明显的副作用。例如,浏览器的预缓存功能是否遵循 link 应该无关紧要。那应该只是获取一些数据。
注销用户会产生严重的副作用,因此 GET 是不合适的。
在 Laravel 应用程序的上下文中,POST 执行注销的意义是什么?是否存在一些安全 and/or 会话特殊性,仅通过 GETing 进行 POSTing?
生成的相关部分make::auth
:
<ul class="dropdown-menu" role="menu">
<li>
<a
href="{{ url('/logout') }}"
onclick="event.preventDefault();document.getElementById('logout-form').submit();">
Logout
</a>
<form id="logout-form" action="{{ url('/logout') }}" method="POST" style="display: none;">
{{ csrf_field() }}
</form>
</li>
</ul>
GET 请求应该是“safe”并且不应该有任何明显的副作用。例如,浏览器的预缓存功能是否遵循 link 应该无关紧要。那应该只是获取一些数据。
注销用户会产生严重的副作用,因此 GET 是不合适的。