我想在访问我的应用的私人页面之前检查用户是否经过身份验证。 计划是在每个页面的顶部编写一个脚本,下载jquery,连接到服务器并检查连接,如果他/她没有登录,则将用户重定向到登录页面。
例如,这是private.html页面
<script src="/js/jquery"> //put a function that will till the download is completed before running the liness below
<script>
$.ajax(ur:"/server/checkif user is logged");
</script>
//other html elements
答案 0 :(得分:1)
您无法通过JavaScript停止页面加载,因为资源加载和内容的执行是两个独立的事情。 (任何人都可以将整个页面下载到文件中,并且内部的脚本不会被执行。)您需要在服务器上执行身份验证和重定向。
即使您使用JavaScript检查了身份验证,然后以编程方式加载了内容,您也会遇到完全相同的问题(用户可能会劫持您的脚本并直接下载您的内容)。
答案 1 :(得分:1)
算了。 不安全且不可靠。正如其他人所提到的,在 JavaScript开始执行之前,客户端已经收到整个页面。
这种身份验证应该在服务器端完成。由于您没有明确标记服务器端编程语言,因此我只能提供一个通用路由来实现此目的:
重要的是 - 在这种情况下 - 私人数据甚至不会被发送到客户端,只有在它经过身份验证的情况下。