保护 asp:Hyperlink Navigation 属性标记内部的变量

发布于 2024-10-19 17:38:53 字数 901 浏览 1 评论 0原文

我有一个带有一系列 asp:hyperlink 的 asp.net 转发器控件

<asp:HyperLink runat="server" ID="name" NavigationUrl="~/Pages/display.aspx?fileid={0}&user={1}" />

,然后在 OnItemDataBound 方法上:

fullname.NavigationUrl=string.Format(name.NavigationUrl, user.fileid, user.userid);

因此,这在转发器中提供了一系列 URL
http://www.abc.com/users.aspx?fileid=1& ;userid=10
http://www.abc.com/users.aspx?fileid=2& ;userid=20
http://www.abc.com/users.aspx?fileid=3& ;userid=30

好的,使用简单的代理工具,某人可以用其他数字替换其中一个参数,以访问他们不应该看到的内容。 除了服务器端验证和身份验证之外,在尝试在转发器中创建动态 URL 时,除了传递参数之外,还有更好的方法吗?

谢谢。

I have an asp.net repeater control with a series of asp:hyperlink's

<asp:HyperLink runat="server" ID="name" NavigationUrl="~/Pages/display.aspx?fileid={0}&user={1}" />

and then on the OnItemDataBound method:

fullname.NavigationUrl=string.Format(name.NavigationUrl, user.fileid, user.userid);

So that gives me a series of URLs in the repeater
http://www.abc.com/users.aspx?fileid=1&userid=10
http://www.abc.com/users.aspx?fileid=2&userid=20
http://www.abc.com/users.aspx?fileid=3&userid=30

OK, so with a simple proxy tool someone can replace either of the parameters with some OTHER number to get access to what they shouldn't see.
server-side validation and authentication aside, is there a better method other than passing parameters when trying to create a dynamic URL within a repeater?

thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

顾挽 2024-10-26 17:38:53

是的,创建一个 LinkBut​​ton,将其发回服务器,然后获取您需要的信息(可能需要从数据库加载)并执行 Response.Redirect。

如果您公开查询字符串,则它始终可以更改。我看到使用的其他方法是加密查询字符串参数,并在另一页上解密。如果解密失败,则进行了修改。

HTH。

Yes, create a LinkButton, have it post back to the server, then get the information you need (which may need to be loaded from the db) and do a Response.Redirect instead.

If you expose the querystring, it can always be changed. Other approach I seen used is encrypt the querystring params, and decrypt on the other page. If decrypt fails, it was tinkered with.

HTH.

拧巴小姐 2024-10-26 17:38:53

您可以加密参数,正如 Brian 已经提到的那样。您可以研究的另一件事是 跨页回发 。另一种选择是在会话 cookie 中设置参数,在后台代码上进行重定向并获取目标页面上的参数。

You can encrypt parameters as already mentioned by Brian. The other thing you could look into is Cross Page Postback . The other alternative is to set the parameters in the session cookie, do a redirect on code behind and pick up the params on the target page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文