Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么默认情况下,Laravel会通过POST(而不是GET)注销?_Php_Laravel_Laravel 5_Laravel Routing - Fatal编程技术网

Php 为什么默认情况下,Laravel会通过POST(而不是GET)注销?

Php 为什么默认情况下,Laravel会通过POST(而不是GET)注销?,php,laravel,laravel-5,laravel-routing,Php,Laravel,Laravel 5,Laravel Routing,在Laravel应用程序的上下文中,发布以执行注销的意义是什么?是否有一些安全性和/或会话的特殊性,张贴在刚刚获得 生成的make::auth中的相关部分: <ul class="dropdown-menu" role="menu"> <li> <a href="{{ url('/logout') }}" onclick="event.preventDefault(); doc

在Laravel应用程序的上下文中,发布以执行注销的意义是什么?是否有一些安全性和/或会话的特殊性,张贴在刚刚获得

生成的
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>
  • {{csrf_field()}}

GET请求应该是“”,不应该有任何明显的副作用。例如,如果浏览器的预缓存功能跟随链接,则这并不重要。这应该会得到一些数据


将用户注销将是一个显著的副作用,因此GET是不合适的

这是一个选择的问题,但也一直在Stackoverflow上。一般来说,任何会改变服务器状态的操作都应该通过POST发送。这就是这个建议一直以来的含义。RE:“标记为重复”-发布时,我是在laravel的上下文中提问的(我认为这是laravel的一个特殊特性),但可以看出更广泛的“原始”问题如何也适用