我在页面上有一个“删除文件”链接:
<form id="myForm" runat="server">
<asp:LinkButton
ID="deleteFileLink"
runat="server"
OnClientClick="javascript:return confirm('Are you sure?');"
OnClick="deleteFileLink_Clicked">
(delete)
</asp:LinkButton>
</form>
我希望该链接触发POST,而不是GET - 只有登录用户才能访问该页面(但应该),但显然我希望GoogleBot等没有机会删除文件。
doc强烈建议LinkButton始终触发POST:“按钮只是将网页发回服务器。”。
我读到这个吗?非人类用户是否有机会跟踪此删除链接?
答案 0 :(得分:1)
任何ASP.NET事件都是通过POST发生的,它被广泛称为PostBack。虽然,可以使用JavaScript使用__doPostBack
方法模拟这些PostBack,但这是不寻常的。
Google Bots不会抓取PostBack链接,而且这方面有好的和坏的部分。
如果您正在考虑安全问题,那么在实际执行删除代码之前,您应该在会话中或在某处确定已登录用户的登录标记。
答案 1 :(得分:0)
解决问题的简单方法是,如果您希望仅向已登录用户访问该页面,则可以在web.config上指定。所以未经过身份验证的用户无法访问该页面。所以不会发表任何帖子。