繁体   English   中英

ASP.NET中的CustomerId和Request.QueryString

[英]CustomerId and Request.QueryString in ASP.NET

Request.QueryString不是很安全。 有人登录。只需键入URL即可

myaccount.aspx?custId=10

人们可以获得另一个客户的信息。

所以它根本不安全。 发布这个的原因是因为,我想要一种在页面之间传递customerId的替代方法。 或许可以加密吗?

查询字符串是安全的没有缺陷

有缺陷和不安全的是信任用户输入数据。 您有责任验证发送到服务器的数据不是恶意的,并且允许登录用户请求的操作。

您应该获取该查询的stirng值,确保它是有效类型(您的示例似乎是一个整数),然后在获取客户的数据之前,确保允许用户访问该客户数据。

实际上,对于myaccount.aspx,您不需要用户将其ID作为参数传递。

正如其他人所说,使用会员资格。 或者创建用户ID和密码的哈希值(加密值),并将其保存为cookie或会话对象。 您可以读取它而不是输入参数。

这不是QueryString的责任。 应该实现一个身份验证和授权系统,最好使用MembershipProviderRolesProvider

它做了它应该做的事情。 您可以自行保护您的网站。 没有人说查询字符串中的所有内容都用于敏感访问相关功能。

通过它没有安全的方法。 一旦用户登录,将ID存储在Session或等效的内容中,然后始终从那里获取。

您可以查看asp.net会员资格

您应该使用ASP.NET 安全性对客户进行身份验证和授权,以便检查登录用户是否可以访问查询字符串中指定的客户ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM