在史蒂文桑德森的书中,据说使用删除,更新,...他重新使用Post。不是个好主意。假设我有一个“禁用”链接来禁用记录。我想用
$.get(...)
而不是
@html.ActionLink("Disable",
禁用该行。使用getajax功能还不错吗?
<a id = "disable_@Model.ID" class = "disable" href = "#">Disable</a>
感谢您的帮助
答案 0 :(得分:3)
有人制作删除数据库链接(作为一个href)向服务器发布GET请求,然后搜索引擎出现并找到这个“隐藏的管理页面”并单击每个链接。
GET请求是开发人员标记搜索引擎“安全”,浏览器预缓存等的方式。不要将它们用于数据更改功能。
答案 1 :(得分:1)
基本上,这种方法的主要问题是浏览器倾向于假设“获取”某些东西是一种非常无害的行为。而且,浏览器 - 甚至来自搜索引擎的网络抓取工具,环顾每个可用链接,可能会转到该网址以查看可能存在的内容。
另外,这意味着每个请求的所有细节都非常容易窥探 - 即使是HTTPS加密的传输也可以将请求的URL显示为“updatePatientDetails.php?diagnosisTitle=Anal_Inflammation&patientSSN=100101011
”
是的,这不是每个人都忽略的那些“轻松”建议之一。至少,我宁愿有人不正当地使用POST请求 - 但不是GET。