【问题标题】:Laravel add csrf check for linkLaravel 添加 csrf 检查链接
【发布时间】:2016-04-05 18:33:45
【问题描述】:

我正在 laravel 中使用超链接在 laravel 中实现 post DELETE 操作,就像 wordpress 一样:
http://mysite/wp-admin/post.php?post=568&action=trash&_wpnonce=ec36bea1fd
链接的最后一部分在 laravel 中有一个 wpnoncecsrf 。但是 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 调用它怎么样?

标签: wordpress laravel csrf


【解决方案1】:

不要这样做,使用 DELETE 或 POST 请求。

【讨论】:

  • 但我必须使用它!有一个列出所有帖子的表格,每个帖子都应该有一个删除按钮和一个复选框,以便能够像 wordpress 一样选择批量操作,因此,如果使用表单进行删除操作,那么它将位于另一个批量操作表单中表单,它不是一个有效的 html
  • “AJAX 呢?”你真的建议他使用 XML 吗?
猜你喜欢
  • 1970-01-01
  • 2016-03-01
  • 1970-01-01
  • 2015-01-15
  • 2022-06-11
  • 1970-01-01
  • 2016-03-29
  • 1970-01-01
  • 2018-03-19
相关资源
最近更新 更多