【问题标题】:Should I use cookie to store information to track user in application我应该使用 cookie 来存储信息以跟踪应用程序中的用户吗
【发布时间】:2012-04-29 23:39:14
【问题描述】:

我需要提高应用程序的速度,但我还必须注意安全性。首先,我将解释应用程序的功能:
当用户在应用程序中注册时,他选择了学校,在数据库的用户配置文件中,我存储了这所学校的 ID。
每所学校都有自己的页面,如果用户来自该学校,他可以在该学校页面上做一些事情,写评论添加图片等。
用户也可以访问其他学校页面,但他不能写cmets和添加图片。
目前我将CurrentSchoolID 保留在ViewBag's 中。
我想知道将 CurrentSchoolID 存储在 cookie 中是否更好。
是否有可能某些邪恶的用户使用此 cookie 来损害应用程序?
对于应用程序用户必须启用 cookie。

【问题讨论】:

  • 将它存储在 Session 或 Cookie 中应该没问题,只要记住在将 id 发送到 db 之前(用于 sql 注入)之前错误检查 id。归根结底,这一切都归结为您在安全方面如何处理 sql 内容

标签: asp.net-mvc asp.net-mvc-3 cookies


【解决方案1】:

如果不允许用户编辑除他们学校以外的其他学校,则不能指望 cookie 中的 ID 为真。

理论上,您可以做的是将学校 ID 保存在 cookie 中,并在每次写入/更新/删除操作时,检查(当然在服务器上)登录用户是否有资格更改与这个学校 ID。

但实际上,学校ID是不必要的。更好的是 - 在服务器端检查允许该用户编辑哪个学校,并且仅当用户编辑该学校的数据之一时才允许编辑操作。

【讨论】:

  • SchoolID 是必要的,因为我如何跟踪当前的学校页面用户。但是正如您所建议的那样,对 CRUD 的检查很重要,
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-03
  • 2021-04-17
  • 1970-01-01
  • 2021-07-06
  • 1970-01-01
  • 2012-12-19
相关资源
最近更新 更多