使用 PHP session 和 HTTP_REFERER 以下是示例代码:
首先,在需要进行身份验证的页面中,设置 PHP session,如下所示:
在上面的代码中,我们使用 $_SERVER['HTTP_REFERER'] 来检查请求是否来自我们的登录页面。如果不是,则将用户重定向到登录页面。然后,我们检查 PHP session 是否已设置,并且用户已通过身份验证。如果没有,则将用户重定向到登录页面。
接下来,我们编写一个简单的登录脚本,如下所示:
在上面的代码中,我们检查提交的用户名和密码是否与我们的预设值匹配。如果匹配,我们设置 $_SESSION['authenticated'] 为 true,并将用户重定向到受保护的页面。如果不匹配,则将用户重定向到登录页面,并将查询字符串参数 login_failed 设置为 true。
最后,在需要访问的页面中,我们只需检查 PHP session 是否已设置并且用户已通过身份验证即可。这是我们在第一步中编写的代码。
这种方法可能没有Apache基本身份验证那么安全,但是对于某些网站,它可能是一个很好的替代方案。