Javascript 禁用在控制台中编辑sessionstorage变量的可能性

Javascript 禁用在控制台中编辑sessionstorage变量的可能性,javascript,php,jquery,session,session-storage,Javascript,Php,Jquery,Session,Session Storage,因此,我创建了一个网站,当用户成功登录时,它会将sessionstorage变量“logedIn”设置为true,如下所示: sessionStorage.setItem('logedIn', 'true') 该变量用于其他网页,以查看用户在显示内容之前是否已登录,因此未登录的用户无法访问该网页。它工作起来很有魅力,但我注意到,如果我在谷歌chrome控制台中手动键入代码,我可以很容易地更改sessionvariable。这显然不是我们想要的 我的问题是:我如何解决这个问题 PS:我之所以不使

因此,我创建了一个网站,当用户成功登录时,它会将sessionstorage变量“logedIn”设置为true,如下所示:

sessionStorage.setItem('logedIn', 'true')
该变量用于其他网页,以查看用户在显示内容之前是否已登录,因此未登录的用户无法访问该网页。它工作起来很有魅力,但我注意到,如果我在谷歌chrome控制台中手动键入代码,我可以很容易地更改sessionvariable。这显然不是我们想要的

我的问题是:我如何解决这个问题

PS:我之所以不使用PHP会话变量,是因为登录过程是用javascript完成的。当按下login按钮时,ajax将给定的凭证发送到php脚本,该脚本检查数据库。如果成功,它将向ajax complete函数发回一个代码,该函数将设置变量。如果你有更好的方法来做我需要做的事情,那就非常欢迎你;)


谢谢,芝诺,你不能,而且不安全。AJAX结果出来后,您应该设置cookie并在服务器端的每个页面上验证它们。

所以我也不能使用php会话?您可以。使用或使用基于cookies的您自己的系统。还有一个问题,我可以在php文件中设置变量来检查数据库中的给定凭据,还是设置该变量不起作用/不安全?例如:您的数据库中包含列id、用户名、密码、会话,每次用户登录时您都将会话和值更改为随机字符串。当有人加载页面时,您正在执行简单的查询以选择带有存储字符串的行。如果您使用cookie,请记住,用户可以将其更改为他们想要的任何内容,因此不要依赖它们来执行任何与安全相关的操作。您是否控制验证登录的php脚本?只需设置
$\u SESSION['loggedIn']='yup'并检查是否在每个php脚本上设置了它。你不应该在JS中做这种检查好的,我会做的,谢谢你的快速回复!