1

我试图弄清楚如何存储一些用户信息,这些信息将以以下方式控制内容可见性:

  • 不需要经常访问服务器来查询 SQL 以查看用户可以/无权访问 AND
  • 用户无法在浏览器的开发者工具/控制台中进行编辑

Cookie、查询字符串甚至 HTML5 本地存储或 SQLite 都是很好的存储选项,但它们都可以由精通技术的用户进行编辑。如何根据用户的安全级别控制内容,同时限制查询并防止用户对其进行破解?

4

1 回答 1

1

阻止用户查看特定内容的唯一方法是验证他们对内容服务器端的访问权限,而不是将其呈现给他们。 可以绕过任何客户端验证。即使您设计了一种在本地存储用户看不到的信息的方法,您仍然会将内容发送给他们并使用客户端代码来检查该值。

用户可以看到您发送给他们的任何内容。

您不一定需要经常访问 SQL 数据库来检查角色和权限。您可以在服务器端保留一些缓存的角色和授权,例如在会话状态中,并在用户会话的生命周期内针对这些角色和授权进行验证。此时,您不会产生性能成本,因为用户无论如何都在请求页面。对于每个页面请求,您只需确定用户在响应中能看到或不能看到的内容。

于 2012-05-19T21:54:22.670 回答