我正在尝试根据用户的登录状态在我的应用程序中显示/隐藏表单。登录时应该显示,退出时隐藏。此表单不是用于登录用户的表单。用户的登录状态是通过 facebook 登录按钮获取的,该按钮是通过 javascript sdk 启用的。
我想过用两种方法显示和隐藏表单:
- 使用 jQuery 通过更改 CSS 来显示/隐藏表单
- 使用 ajax .load() 插入包含该表单的 html/php 片段
但是,使用这两种方法,用户仍然可以使用浏览器开发工具访问表单。使用第一种方法,未登录的用户可以简单地进入 Chrome 或 FF 的开发者工具控制台并切换display:none
或visibility: hidden
在表单的 CSS 样式中。然后他们可以在表单中输入值并仍然成功地将数据插入到数据库表中。
使用第二种方法会困难得多,但用户仍然可以将 HTML 元素插入 DOM(在 Chrome 中的“元素”选项卡下)并通过在我的 .js 文件中查找它们来引用我正在运行的脚本。
有没有做这个客户端的安全方法?我考虑过使用 PHP 会话,但是正如我上面提到的,用户登录状态的条件是用 javascript 处理的,我不确定如何将 js 中的简单条件与 php 会话集成。
例如,现在基于登录状态处理应用程序流的条件结构非常简单:
if(response.status === 'connected') { // user is logged in
// js to do something, e.g. display form
} else { // user is logged out
/// js to do something else, e.g. hide form
}