在Laravel应用程序的上下文中,POST执行注销的意义是什么?是否有一些安全和/或会话的特殊性,只是在GETing上发布?
生成的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>
答案 0 :(得分:2)
GET请求应该是“safe”,不应该有任何明显的副作用。例如,如果浏览器的预先缓存功能跟随链接,则无关紧要。那应该只是得到一些数据。
将用户注销会产生严重的副作用,因此GET不合适。
答案 1 :(得分:0)
原因是它希望随请求提交CSRF令牌:
{{ csrf_field() }}
所以,是的,这完全是关于安全性的。