1

在 Steven Sanderson 的书中,据说使用 get 来删除、更新……他建议使用 Post。不是一个好主意。假设我有一个链接,上面写着“禁用”来禁用记录。我想用

$.get(...)

代替

@html.ActionLink("Disable",

禁用该行。使用 getajax 功能仍然很糟糕吗?

编辑

<a id = "disable_@Model.ID" class = "disable" href = "#">Disable</a>

感谢您的帮助

4

2 回答 2

3

一旦有人创建了将 GET 请求发布到服务器的删除数据库链接(作为一个 href),然后搜索引擎出现并找到了这个“隐藏的管理页面”并单击了每个链接。

GET 请求是开发人员为搜索引擎、浏览器预缓存等标记“安全”内容的方式。切勿将它们用于数据更改功能。

于 2013-07-27T02:39:44.170 回答
1

基本上,这种方法的主要问题是浏览器倾向于假设“获取”某些东西是一种非常无害的行为。不仅仅是浏览器——甚至来自搜索引擎的网络爬虫,环顾每个可用链接,可能会转到该 URL 以查看可能存在的内容。

另外,这意味着每个请求的所有细节都很容易窥探——即使是 HTTPS 加密传输也可能将请求的 URL 显示为“ updatePatientDetails.php?diagnosisTitle=Anal_Inflammation&patientSSN=100101011

是的,这不是每个人都忽略的那些“轻”建议之一。至少,我宁愿有人不恰当地使用 POST 请求来处理所有事情——但不是 GET。

于 2013-07-27T02:43:23.557 回答