我正在使用按钮进行回发
<asp:Button ID="SendButton" Enabled="True" Width="70" runat="server" PostBackUrl='<%# Eval("GroupName", "SendMessage.aspx?GroupName={0}") %>' Text='Send'></asp:Button>
将GroupName发送到SendMessage.aspx页面。但我觉得它容易受到攻击,比如欺骗(如果我错了,请纠正我)。
http://localhost:40092/SurelyK/SendMessage.aspx?GroupName=Acc
Url包含可由攻击者更改的组名 如何防止我的网站遭受此类攻击。请给我一些建议。
答案 0 :(得分:1)
防范此操作的常用方法是验证服务器端的输入,恶意客户端无法执行任何操作。如果您在服务器上看到一个无效的组名,您只需返回一个这样的页面,而不是对有效的组名执行任何处理。
如果您不希望值发生变化,那么您可以将数据存储在ViewState
(已加密)或Session
(存储在服务器上,并且是客户无法访问。)
鉴于您有一个提交此信息的按钮,我认为正确的服务器端验证是正确的路径。
同样,如果您尚未通过要求身份验证和授权来保护此页面,那么您当然也应该这样做,这样只有您知道并信任的用户才能访问该页面。
答案 1 :(得分:0)
如何使用Session
变量来保存相关数据?会话数据在多个页面中持续存在,直到会话结束。
我从来没有听说过Session变量的回火。