我是web开发的初学者。我只用HTML、CSS和Javascript创建了一个项目。我的任务是创建登录页面和主页,但用户只有在登录时才能访问主页。后端是数据库连接器scrip、登录脚本和检查用户的脚本。
在用户打开主页之前,脚本会创建一个请求,并从脚本中获得以下格式的响应:
{
"logged": true,
"uid": 123456
}
我解析JSON,如果logge为false,我将使用window.location.replace()
重定向到登录页面。
当用户未登录时,这种方法是否阻止打开主页?
我之所以这么问,是因为客户端可以在网络浏览器中修改Javascript文件。
我知道使用位置头在PHP中创建它更容易,而且客户端不能修改它,但我不能用这种方式。
我之所以这么问,是因为客户端可以在web浏览器中修改Javascript文件。
不是。但是是的,像您描述的那样的检查很容易绕过客户端。
规则是这样的:如果用户没有得到授权和身份验证,则任何不应该对其可见的东西都不能发送到客户端,除非提供了身份验证。因此,对";主页";来自服务器的数据必须被服务器允许或禁止,并且不可缓存。
通常页面本身并没有那么受保护,但您在页面上显示的信息是受保护的。例如,页面是脚手架和布局等,但它显示的受保护信息是使用ajax或类似方法提供的,并且只有在用户经过身份验证时才提供。