CustomerId and Request.QueryString in ASP.NET



Request.QueryString不是很安全。以防有人登录。只要输入URL

myaccount.aspx?custId=10

一个人可以得到另一个顾客的信息。

所以它一点也不安全。发布这篇文章的原因是,我想要一种在页面之间传递customerId的替代方法。或者加密?

真的为我的帐户。在aspx中,你不需要向用户传递他们的ID作为参数。

正如其他人所说,使用成员关系。或者创建用户ID和密码的散列(加密值),并将其保存为cookie或会话对象。

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

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

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

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

它做了它应该做的事情。这是由你来保护你的网站。没有人说querystring中的所有内容都用于敏感的访问相关功能。

没有安全的方式通过它。一旦用户登录,将ID存储在Session或类似的地方,然后始终从那里获取它。

您可以查看asp.net成员

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

相关内容

  • 没有找到相关文章

最新更新