我正在试图找出如何存储一些用户信息,以便以下列方式控制内容的可见性:
Cookie,查询字符串甚至HTML5本地存储或SQLite都是很棒的存储选项,但它们都可以由精通技术的用户编辑。如何根据用户的安全级别控制内容,同时限制查询并防止用户破解它?
答案 0 :(得分:1)
阻止用户查看特定内容的唯一方法是验证他们对内容服务器端的访问权限,而不是将其呈现给他们。 任何客户端验证都可以绕过。即使您设计了一种本地存储用户无法看到的信息的方法,您仍然向他们发送内容并使用客户端代码进行检查那个价值。
用户可以看到您发送的任何内容。
您不一定需要不断访问SQL数据库以检查角色和权限。您可以在服务器端保留一些缓存的角色和授权,例如在会话状态中,并在用户会话的生命周期内对其进行验证。此时,您不会产生性能成本,因为用户无论如何都在请求页面。对于每个页面请求,您只需确定用户在响应中可以看到或看不到的内容。