【发布时间】:2016-04-05 18:33:45
【问题描述】:
我正在 laravel 中使用超链接在 laravel 中实现 post DELETE 操作,就像 wordpress 一样:http://mysite/wp-admin/post.php?post=568&action=trash&_wpnonce=ec36bea1fd
链接的最后一部分在 laravel 中有一个 wpnonce 即 csrf 。但是 laravel csrf 中间件不会检查 csrf 是否有 get 请求。是否可以强制应用检查_token?
有必要吗?如果不是那么为什么 wordpress 会检查它?
【问题讨论】:
-
GET/HEAD请求不需要。 -
使用get方法删除东西是个坏主意。
-
您是在使用 ajax 调用它吗?或使用 curl 从 wordpress 中调用。在任何情况下,csrf 令牌都在 cookie 上。您可以将其作为 X-CSRF-Token 发送到请求的标头中
-
@astroanu 我既没有使用 ajax 也没有使用 wordpress 。正如我所说,我正在尝试使用
<a class="btn btn-danger" href="//site/admin/destroy?id=96">Delete</a>之类的链接标签删除帖子,我可能会将csrf_token()附加到链接,但不会在服务器端进行验证。这是我的问题 -
在 url 上传递 csrf 令牌不是一个好主意。为 Laravel 应用程序实现一个 api,然后从 wp 调用它怎么样?