如何防止用户通过写URL直接访问我的html页面?

2024-02-05

我想要一个硬编码的登录页面(登录.html),没有数据库。 如果一个人写了正确的用户名和密码,它会重定向到(page2.html).

现在我的问题是,如果一个人直接为 page2.html 编写 URL,他将能够访问它,而无需任何登录。

理想案例=> www.example.com/login.html => 如果正确 => www.example.com/page2.html

问题案例=> www.example.com/page2.html => page2.html ,没有登录 :(


你可以用这样的 php 会话来控制这一切

  //set the session on the login page
   $_SESSION['loggedIn'] = true;  

 //on the second page you check if that session is true, else redirect to the login page  
  if($_SESSION['loggedIn'])
      //allow
  else
      //redirect to the login page
      header('Location: /login.html');  

A session http://www.w3schools.com/php/php_sessions.asp是一种存储要在多个页面上使用的信息(在变量中)的方法。默认情况下,会话变量将持续到用户关闭浏览器为止。

为了简单起见,您可以将页面更改为php (e.g login.php).

  • Line 1:在你的login.php页面,首先检查用户名和密码是否正确,如果正确则设置$_SESSION['loggedIn'] = true

  • Line 2:在你的第二页(page2.php),您将首先通过检查会话是否有值来检查用户是否登录if($_SESSION['loggedIn']) {//allow processing}

  • Line 3:如果该会话变量为空,则意味着用户没有登录,将其重定向到登录页面else { header('Location:/login.php');}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止用户通过写URL直接访问我的html页面? 的相关文章

  • 使用来自另一个数据库的选择查询更新 mysql 表

    我有两个数据库 我想用另一个数据库表中的值更新一个表 我正在使用以下查询 但它不起作用 UPDATE database1 table1 SET field2 database2 table1 field2 WHERE database1 t
  • MySQL 和 PHP 参数 1 作为资源

    好吧 当我运行下面提到的代码时 PHP 向我抛出此错误 在日志中 Error mysql num rows 期望参数 1 为资源 第 10 行 place 中给出的字符串 9 11号线 queryFP SELECT FROM db coun
  • 如何仅删除页面的自动段落格式,而不删除帖子的自动段落格式(WordPress)

    我已经熟悉这个在 WordPress 中删除自动段落格式的小技巧 remove filter the content wpautop remove filter the excerpt wpautop 但是添加这个函数 php删除整个网站的
  • 发送变量后的 wsdl 服务响应,php

    我是 SOAP WSDL 函数的新手 我有一位客户从一家从事汽车测试的公司获得了 wsdl 文件 我的客户是他们的分包商 他们告诉我们上传有关车牌 类别等信息 一旦详细信息发送完毕 服务器就会做出成功或失败的响应 请您协助 浏览不同的信息
  • file_get_contents 大文件上传

    我正在尝试使用 fsockopen 上传 2GB 以上的大文件 但 file get content 出现以下错误 我无法在内存中存储大文件 我需要分块发送数据 但不知道如何执行此操作 请问有人可以指导我吗 致命错误 允许的内存大小 134
  • 在 Laravel 中的编辑表单上获取选定选项

    我的网站订单有一个可编辑的表单 并且有以下字段 User quantity note status 我在此表单中还有其他选项 但只有这些字段对我来说很重要 以便能够获取默认值 例如 我希望能够查看用户默认订购的数量 然后我可以更改它或保留它
  • Laravel 从 API 响应中删除标头值

    Laravel 应用程序版本 5 6 我希望从 API 响应中显示的 Cache Control 标头中删除 private 值 我有一个中间件添加 无缓存 和 无存储 值 response next request response gt
  • 从 php 到 JavaScript 的数组

    我正在尝试使用 json 将数组列表从 php 传输到 javascript 但它不起作用 JS ajax url getProfilePhotos php type post post or get method data if you
  • 如何在CentOS 5.3上安装php-mongodb?

    我已经在我的 VPS 上安装了 mongoDB 效果很好 现在我想安装 php 驱动程序以使 php 与 mongoDB 一起工作 我跟着蒙戈安装 http www php net manual en mongo installation
  • php oracle客户端oci8安装出现什么问题

    我尝试了安装 PHP Oracle 客户端的所有过程 1 我安装了客户端版本8和32位 2 我在php ini中取消了oci的注释 3 重新启动Wamp 4 不确定是否真的安装 但我在 php ini 中得到了引用 5 但仍然无法连接 泰汉
  • 使用 yum 和 pear 安装 php-soap 均失败

    我正在尝试在 Centos 6 4 服务器上安装 PHP 的 SOAP 扩展 我对包管理器 从 CLI 安装包并在 PHP 中配置它们相当不熟悉 我相当有能力管理 php ini 和其他 PHP 配置文件 soap ini 等 我尝试使用以
  • 使(文本到图像)图像具有一定的宽度但无限的长度?

    我有下面的代码 可以用大量文本生成图像 我希望该图像的宽度为 700 像素 我还希望它保留字符串所具有的段落结构 该字符串来自 MySQL 数据库 我怎样才能实现这一点 font 2 width imagefontwidth font st
  • 扩展构建器中的“映射到现有表”显示 TYPO3 中的奇怪问题

    在我的扩展中MyExt 我映射了模型Page to pagesTYPO3 中的表 首先它向我展示了type mismatch错误 无论如何我继续保存它 会发生以下情况 我的页面树变成这样 我的新记录表单仅显示 UID 而不显示标题 My P
  • PHP LDAP 查询获取特定安全组的成员

    我正在努力让 LDAP 查询工作来为我提供安全组的成员 我们的活动目录结构设置为 DC domain DC co dc uk然后 我们有一个名为 公司用户 的 OU 其中有一个用于 IT 和标准的 OU 在这些中我们创建了用户 所以我被设置
  • PHP 中的encodeURI() ?

    PHP 中是否有一些不编码的encodeURI 函数 我现在用这个 function encodeURI url http php net manual en function rawurlencode php https develope
  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using
  • 使用 PHP 中的 GD 库在图像上绘图

    我创建了一个代码来生成随机图案图像 它创建一个具有给定宽度和高度的图像 并用 40x40 像素的小矩形填充它 这是我的代码
  • 为什么这评估为 true

    为什么这评估结果为真
  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib

随机推荐

  • 如何在 Rabbit.js 上创建 REP/REQ

    我已经在 Net 上使用 RabbitMQ 一段时间了 并且没有遇到太大的问题 现在我正在使用 node js 迁移到rabbit js 但我对它不太熟悉 rabbit js 的文档有限 我只知道基本的 PUSH PULL 或 PUB SU
  • 如何在C#中使组合框在鼠标悬停时自动展开并在鼠标离开组合框时关闭? [复制]

    这个问题在这里已经有答案了 我有一个窗口窗体 在该窗口窗体中我有一个组合框 我在组合框中预定义了项目添加 删除和删除 我想让组合框在鼠标悬停时自动展开 我怎样才能做到这一点 我注意到自动展开代码应该在组合框的鼠标悬停事件中给出 像这样 pr
  • 为什么我的平方函数不运行?

    我决定编写一个程序来计算数字的平方只是为了好玩 使用在线编译器 我输入了代码 据我所知 没有错误 它不会运行它只会有一个空白的控制台条目 我的代码 import math def square number raw input Please
  • php:自动缩进整个代码?

    是否有任何 netbeans eclipse 的软件 插件可以在插入后自动缩进整个代码 当我按下 ENTER 以获得新功能时 不仅仅是缩进 我想粘贴一个没有缩进的代码 它会自动缩进所有内容 因为它可以识别使用的语言 应该可以节省很多时间 在
  • 如何在 Google 电子表格中减去两组值?

    我有两组值A A and B B 如何在它们之间进行设置差异 最好使用公式 即从A A不存在于B B 这样的公式可以做到这一点 并且速度相当快 filter A A countif B B A A 0
  • 在 View(CakePHP) 中,获取当前控制器的正确方法?

    在视图中 我可以通过使用来采取行动 this gt action 但是 我无法通过以下方式获取控制器名称 this gt controller 在视图中获取当前控制器的正确方法是什么 Use this gt params controlle
  • 共享内存编程中的 shm_open 和 ftruncate()

    我想创建一个共享内存对象并将其截断为特定大小 SHMSIZE 定义为 512 MODE 设置为 S IRUSR S IWUSR S IWGRP S IRGRP S IWOTH S IROTH 这是我的代码 char shm name Sha
  • SQL Server 中的合并和合并联接相同吗?

    SQL Server 中的合并和合并联接有什么区别 MERGE是一种DML语句 数据操作语言 也称为 UPSERT 更新 插入 它尝试根据您定义的条件将源 表 视图 查询 与目标 表 可更新视图 匹配 然后根据匹配结果向目标表中插入 更新
  • 找不到模块node_modules\@ionic\app-scripts IONIC 3

    我已经安装了npm 3 10 10那么我有installed ionic 3 9 2 and cordova 7 0 1 我尝试了以下步骤 ionic start newProject 选择一个选项卡项目 ionic serve 该命令将t
  • Objective-C 编程中单键保存多个值的 NSMutableDictionary

    请告诉我如何在 NSMutableDictionary 中为同一个键拥有多个值 当我使用以下方法时 这些值将被替换为最近的值 就我而言 dictionary setObject forename forKey NSNumber number
  • 数据标准化和编写查询

    我是jr开发人员 工作 5 个月 我有一个关于数据标准化的问题 现在 据我了解 数据规范化背后的一般原则是创建一个将数据冗余保持在最低限度的 RDBMS 在我的项目中 一位数据库人员创建了一个数据库 我们有 50 多个表 数据库中的表通常非
  • 无法找到工件 jackson-modules-java8 jar

    我正在使用 pom xml 像
  • 如何在 gradle 项目中使用 eclim

    我的 eclim 设置与 eclipse 项目完美配合 但我想使用 gradle 构建系统 我正在使用 Libgdx 框架 它提供 gradle templatete 项目 那么有没有办法使用eclime eclipse gradle 你最
  • 如何在 ASP.NET Identity 1.1 nightly build 中实现 TokenProvider?

    我正在尝试使用 ASP NET Identity 1 1 的夜间构建来实现密码重置功能 有一个 UserManager GetPasswordResetToken 方法 但它抛出异常 没有注册 ITokenProvider ASP NET
  • matplotlib afm 导入速度极慢

    导入时间长得令人无法接受 from matplotlib import pylab as plt gt 3 0124739 secs 这是 cProfile 的输出 它清楚地显示了 afm py 的问题 这是 afm py 的一些接口Ado
  • 如何在 Typesafe Config 中获取解开的密钥?

    测试用例 import org specs2 mutable class HelloWorldSpec extends Specification Typesafe Config should allow me to see my esca
  • 用Python实现的好的双向加密库是什么?

    我们现在使用的应用程序的身份验证系统使用双向哈希 基本上只不过是美化的凯撒密码 在不详细了解它的情况的情况下 我想用更安全的加密算法替换它 并且需要在服务器端完成 不幸的是 它需要是双向的 而 hashlib 中的算法都是单向的 有哪些好的
  • 未实现委托方法导致崩溃

    我创建了一个协议并将其分配给委托对象 protocol AppBrainDelegate
  • C++ 私有函数真的需要放在头文件中吗?

    我一直认为头文件是一种描述类的 公共接口 在这种情况下 最好将私有字段和函数保留在 cpp 文件中 我知道私有字段需要位于标头中 以便其他类可以知道类的实例将消耗多少内存 但当我即将编写一个私有辅助函数时 我想到可以使该函数成为static
  • 如何防止用户通过写URL直接访问我的html页面?

    我想要一个硬编码的登录页面 登录 html 没有数据库 如果一个人写了正确的用户名和密码 它会重定向到 page2 html 现在我的问题是 如果一个人直接为 page2 html 编写 URL 他将能够访问它 而无需任何登录 理想案例 g