【问题标题】:Prevent from unauthorized access to .html site using the only Javascript使用唯一的 Javascript 防止未经授权访问 .html 站点
【发布时间】:2020-09-24 07:53:35
【问题描述】:

我是网络开发的初学者。 我只用 HTML、CSS 和 Javascript 创建一个项目。 我的任务是创建登录页面和主页,但用户只有在登录后才能访问主页。 后端是数据库连接器脚本、登录脚本和记录检查用户的脚本。

在用户打开主页之前,脚本会创建一个请求并以这种格式从脚本中获取响应:

{
     "logged": true, 
     "uid": 123456
}

我解析 JSON,如果 loggedfalse 我使用 window.location.replace() 重定向到登录页面。

这种方法是否会阻止在用户未登录时打开主页?

我问是因为客户可以在网络浏览器中修改 Javascript 文件。

我知道使用 location header 在 PHP 中创建它更容易,并且它不能被客户端修改,但我不能用这种方式。

【问题讨论】:

    标签: javascript security authentication


    【解决方案1】:

    我问是因为客户可以在网络浏览器中修改 Javascript 文件。

    不是真的。但是,是的,您所描述的检查很容易在客户端绕过。

    规则是这样的:如果用户未经授权和验证,则用户不应该看到的任何内容根本不能发送给客户端,除非提供了验证。因此,服务器对“主页”的请求必须被服务器允许或禁止,并且不可缓存。

    通常页面本身并没有受到保护,但您在页面上显示的信息是。例如,页面是脚手架和布局等,但它显示的受保护信息是使用 ajax 或类似方式提供的,并且仅在用户通过身份验证时提供。

    【讨论】:

    • 因此,当我尝试显示包含用户数据的示例表时(仅适用于登录用户),但我在 PHP 脚本中进行了保护,当用户处于未记录。这是一个好方法吗?
    • 但是页面上的导航栏、标题和其他不重要的东西是可见的。
    • @Adrian27045 - 基本上,是的。如果未登录,您会保护那些泄露他人不应该看到的信息的部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 2012-01-14
    • 1970-01-01
    • 2012-09-15
    相关资源
    最近更新 更多