使用 GET 而不是 POST 删除经过身份验证的页面后面的数据 [关闭]

2024-03-23

我知道只要在公共网站上修改数据,您就应该使用 POST。有几个原因,包括搜索引擎会跟踪所有链接并修改数据。

我的问题是,您认为在管理界面等经过身份验证的页面后面使用 GET 可以吗?

一个例子是每行都有一个删除链接的产品列表。由于访问该页面的唯一方法是登录,因此仅在查询字符串中使用带有产品 ID 的链接是否有任何危害?

征求意见的具体说明:

我个人在使用 POST 实现删除时没有任何问题或困难。我刚刚在 ASP.NET 和 ASP.NET MVC 中看到了几个使用 GET 而不是 POST 的“类似管理”页面的代码示例。我很好奇人们对此事的看法。


使用 GET 的诱惑在于,您可以创建一堆删除链接,而无需为每个页面创建数十个表单或诉诸 JavaScript。然而,由于已经提到的各种原因,网络依赖于 GET 不具有破坏性。

如果在服务器上为每个删除链接生成一个小表单不切实际,则最佳实践是使用 GET 链接加载确认页面从服务器它有一个执行删除的 POST 表单。然后做一些渐进增强:

<a href="/controller/delete/1" onclick="$.post(this.href); return false;">Delete</a>

如果服务器收到 /controller/delete/x 的 GET 请求,则提供带有 POST 表单的确认页面。如果服务器收到 POST(或者可能是 DELETE)请求,则执行删除操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 GET 而不是 POST 删除经过身份验证的页面后面的数据 [关闭] 的相关文章

随机推荐