延迟或阻止加载,直到 PHP 脚本/JavaScript 完全执行

delay or prevent loading until php script / javascript has fully executed

本文关键字:脚本 JavaScript 执行 PHP 直到 加载 延迟      更新时间:2023-09-26

我网站上的php/html页面顶部有一个身份验证脚本,当人们尝试在不登录的情况下访问受保护的内容时,可以重定向他们。我遇到的问题是保护区链接中的内容被无意加载,并且在 window.location.href 将用户重定向到默认登录页面之前可以看到闪存信息。这会产生一个安全漏洞,在他们试图从外部访问的任何页面上,都可以在几分之一秒内看到受保护的信息。

有没有办法使受保护的内容在身份验证脚本彻底执行之前不会加载?

  • 下面的脚本位于我所有受保护页面的顶部:

require_once('userSessionAuth.php')
  • 在^上面的脚本^中,我有一个:

 alert("You are not logged in!");
 window.location.href="http://example.com/customerlogin.php";

^^所有受保护的内容都列在我所有受保护页面上的这两行之后。

在服务器端执行重定向,而不是将任何内容返回给客户端:

<?php
// check for auth, if not authenticated then:
header('Location: "http://example.com/customerlogin.php');
exit;
?>

文档在这里: http://php.net/manual/en/function.header.php

您的实际问题是无论如何都会发送受保护的内容。

使用标头函数发送位置重定向并立即退出脚本。