php - 如果使用 PHP 登录,如何允许用户查看 HTML 页面
问题描述
在这里快速提问。如何确保用户只有在登录后才能查看 HTML 页面(使用 PHP)。我知道我必须使用 $_SESSION 来说明用户是否已登录,但是如果我使用的只是 HTML 代码,如果用户已登录,我应该如何检查 HTML 页面?
我读到一个选项是更改 .htacess 文件以允许在 HTML 文件中使用 PHP?如果是这样,我在哪里可以找到 WWW 流上的 .htaccess 文件?(我正在使用 FileZilla,但似乎找不到它)。
基本上,我不希望用户在未登录的情况下访问 URL 页面(即使他们有 URL 链接)。
谢谢!
解决方案
我同意 Kalmanation 的评论。
我更喜欢制作一个单独的页面(API),其中包含底部的代码 LIKE 来检查 $_SESSION 变量。然后,如前所述,将您的 html 页面更改为 php,并在每个页面的顶部使用“include”或“require”语句。如果包含以下代码的文件名为 logincheck.php,则所有其他页面(现在是 php 而不是 html)可能会使用:
<?php
include 'logincheck.php'
?>
<?php
if(!$_SESSION['logged_in'] || isset($_POST['LogOut'])) {
$_SESSION['logged_in']=FALSE;
session_unset();
session_destroy();
if(isset($_COOKIE[session_name()])){
setcookie(session_name(), '', time()-360000, '/');
}
session_regenerate_id(TRUE);
header('Location: login.php');
exit();
}
?>
另请查看最适合您的应用程序的选项:require、require_once、include、include_once。
推荐阅读
- android - Android SDK Build Tools 版本 (23.0.3) 被忽略,因为它低于 Android Gradle Plugin 3.1.2 的最低支持版本 (27.0.3)
- phpmyadmin - PHPMYADMIN SQL 中的两个自动增量
- dji-sdk - 编程一个完整的自主大疆无人机?起飞 - 遵循飞行路线 - 着陆
- selenium - 在守夜人中发送 COMMAND 或 CTRL 键以关闭浏览器选项卡
- c++ - 将嵌套的 std::arrays 视为带有链式 .data() 的单个平面数组
- angular - 禁用命名出口路由
- android - Android模拟器无法在VM中启动
- python - 将对象转换为指向对象的指针?
- c# - 如何创建 pcap 文件
- list - 为什么这个程序不使用 scp 复制我的所有文件?