0

我正在使用按钮进行回发

 <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 包含可以被攻击者更改的组名如何防止我的网站受到此类攻击。请给我一些建议。

4

2 回答 2

1

防止这种情况的常用方法是在服务器端验证您的输入,恶意客户端无法执行任何操作。如果您在服务器上看到无效的组名,您可以只返回一个这样的页面,而不是对有效组名执行任何处理。

如果您不希望这些值发生变化,那么您可以将数据存储在ViewState(已加密)或Session(存储在服务器上,客户端无法访问)中。

但是,鉴于您有一个用于提交此信息的按钮,我认为正确的服务器端验证是正确的路径。

同样,如果您没有通过要求身份验证和授权来保护此页面,那么您当然也应该这样做,这样只有您认识和信任的用户才能访问该页面。

于 2011-08-30T22:48:56.220 回答
0

如何使用Session变量来保存相关数据呢?会话数据跨多个页面持续存在,直到会话结束。

我从未听说过会话变量回火。

于 2011-08-30T22:50:02.840 回答