首页 > 语言 > 关键词 > php教程最新资讯 > 正文

PHP加密文本文件并限制特定页面的存取

2008-09-09 10:02 · 稿源:互联网
一、简介

尽管在一般情况下,你的网站往往相当简单以至它根本不要求使用数据库;但是在有些情况下,你的站点可能想限制对某些页面的存取。一般地,这意味着要使用一个数据库来存储口令和用户名。然而,你还有一个更容易的方法-尽管其安全性差了一点,但是它仅包含了极少的编码。

如果你在自己的Web应用程序中使用了数据库,那么你已经能够在某处存储口令和用户名,并且有一种方法可用来认证访问者。但是,当因你的站点的安全性或复杂性需要而无法保证使用数据库时,那该怎么办?可能有些时候你仅想要一些特别的人存取你的站点的某些页面或一些区域。为此,一种很简单的方式就是使用一个存储口令的文本文件,并且创建一个页面来提示访问者输入口令;如果口令与存储在该文本文件中的内容相匹配,那么允许该用户存取受限的页面;否则,在开始刷新页面之前显示一条适当的消息以禁止其存取。

为了进一步的安全起见,你还可以用哈希法来加密存储在文本文件中的口令,这样如果它的内容在某种程度上被发现,它还将会是很难被查明。所有这些都可以用PHP方法来构建,而且只需极少量的编码。

在正式开始前,你需要建立一个环境来测试和使用PHP;所以,你首先需要为PHP安装和配置一个Web服务器。由于Apache与PHP协同工作良好,并且易于安装和配置,因此我推荐使用这一方案。

接下来,你需要创建一个页面(类似下图)-它有一个文本框用于接收来自访问者的口令,还有一个submit按钮来把它发送到你的PHP文件。这既可以是一个新页面也可以是你的网站上的一个现有页面的一部分。象下面简单的代码块应该足够了:

  <formname="passwordForm"method="post"action="restricted.php">
<p>Password:
<inputtype="password"name="password">
<inputtype="submit"name="Submit"value="Login">
</p>
</form>
  #p#分页标题#e#

 

三、使用口令

为了使用输入到HTML表单中的口令,你需要得到它并把它存储到一个变量中。当我们使用POST方法来把用户输入的内容发送到PHP脚本时,我们可以使用$_POST来取得输入的口令:

  $password=$_POST["password"];
然后,我们可以简单地把输入的口令字与存储的口令字进行比较并采取相应的措施:

  if(empty($password)){
die("Nopasswordentered");
}
elseif($password!=$storedpass){
die("PasswordIncorrect");
}
else{
Header("Location:securepage.htm")
}
?>
第一个if语句处理一个空的$password变量以防止当输入框为空时,submit按钮被点击。如果用户输入的口令与存储的那个不匹配,那么第二个语句执行括号内的代码并且输出一条消息显示口令是错误的。最后,如果前两个条件都不满足,那么,该脚本认为口令一定是正确的并且把一个重定向头(header)发送到浏览器以打开示例中的HTML页面。

在此能够工作之前,你需要创建一个文本文件并且把它放到与该PHP文件相同的目录下。它需要包含你目前想要使用的以普通文本形式存储的口令,并且应该引用该PHP文件名。保存所有这些文件,然后在一个浏览器中打开该HTML页面,并用该表单进行试验。该页面应该如所设想的那样工作。

当你输入正确的口令时,如果你得到一个错误消息,其内容是:

  "Warning:Cannotmodifyheaderinformation-headersalreadysentby(thepathtoyourphpfile)"
这意味着,你需要把位于你的Windows目录下的php.ini文件中的output-buffering设置为"on"。  

  • 相关推荐
  • 大家在看
  • 站长之家诚聘:SEO高手、资深网页设计师、JAVA/GO/PHP/.NET工程师

    2020年站长之家开启新一波人员招募,欢迎小伙伴加盟。本次的首推职位有资深SEO高手、资深网页设计师、JAVA/GO/PHP/.NET程序员,欢迎大家投递简历到hr@chinaz.com邮箱(务必附作品、工作经历、工作成绩等)。SEO高手(若干人)职责描述:1、负责站长之家网站的搜索引擎优化方案设计,提高网站流量、收录和排名;2、负责监控和调研搜索引擎数据与规则,调研竞争对手及其他网站相关策略,制定并实施应对和优化方案;3、负责对SEO相关数据进

  • Arm的目标是成为跨越HPC到云到边缘环境的硬件基础

    在过去的一个月中,ARM一直是一系列公告的核心,包括NVIDIA的一项轰动一时的收购要约,所有这些都印证了许多人早已预见的未来,即英特尔要担心的远不止是AMD。从最初的实验性RISC设计开始,Arm逐渐成为移动设备soc的事实标准。在过去的十年中,随着英特尔新CPU的发布节奏和性能的下降,基于Arm的设计弥补了速度和功能上的差距,因为苹果(Apple)和高通(Qualcomm)等授权厂商已经将最新的移动电话装进了让两年前的PC机付之一炬的

    Arm
  • HP首款高保密碎纸机,9月22日正式开启预售!

    如果说办公桌只是一个小方格、枯燥无趣,那一定是你不懂得生活、给办公添加色彩;如果说办公用品只是千篇一律,能用即可!那一定是你缺少一双发现宝物的慧眼。同类型的产品千千万,总有那么一款是既能装饰你的环境、又能给你在体验上带来质的飞跃。 科技发展日新月异,智能产品层出不穷,不管是生活用品还是办公产品的都逐渐趋向智能化、简单化;而办公的产品需求也逐渐从单一化走向集成化,为了丰富HP品牌在办公领域的集成解决方案?

  • 云聚高性能,论道新超算 ——CCF HPC CHINA2020 在郑州举行

    业界最具影响力的年度高性能计算盛会——2020 CCF全国高性能计算学术年会(CCF HPC CHINA 2020) 9 月28- 30 日在中原古都郑州通过云端线下线上同步隆重举行。本次大会的主题是“新超算 新基建 新经济”。CCF HPC CHINA2020 由中国计算机学会主办,中国计算机学会高性能计算专业委员会、郑州大学、郑州航空港经济综合实验区共同承办,北京并行科技股份有限公司协办。为期三天的盛会将全面回顾 2020 年中国高性能计算领域的创新与实践

  • OKEx早报:以太坊2.0已激活新测试网Spadina Launchpad

    OKEx早报:工信部“加强区布局与运用”OKEx早报:以太坊2.0已激活新测试网,存款工具已审计OKEx早报将在每日早间为您带来最新的行情,以及相关行业动态。帮助投资人在最短的时间内了解夜间的动态消息,更好的握把每日行情。行情速递9月23日讯,昨天BTC收涨,涨幅0.32%,尾盘在10450美元附近调整。通过OKEx平台交易数据可以看出,今日早间行情缓慢上行,BTC开盘报10451.7美元,随后震荡拉升,最高点触及10572.9美元,当前在10500美元

  • iPhone12mini没有5G 其他3款iPhone12均为5G版本

    近日,有华尔街分析师称,iPhone12 系列的 4 款手机中的iPhone12 mini可能为4G版本,而其他 3 款为5G版本。同时,5. 4 英寸iPhone 12 mini,6. 1 英寸iPhone 12具有64G存储版本,而iPhone 12 Pro和iPhone 12 Pro Max为128GB存储容量起步。

  • 星云Clustar首席科学家胡水海应邀出席HPC-AI论坛发表演讲

    第十六届高性能计算峰会(简称CCF HPC CHINA 2020)于 9 月 28 日- 30 日线上线下同步召开。星云Clustar首席科学家胡水海受邀在HPC-AI论坛发表“高性能联邦机器学习异构系统”主题演讲。 CCF HPC CHINA2020 是全球高性能计算领域最具影响力的三大盛会之一,大会旨在通过汇聚前沿学术成果、展示创新应用技术、交流创造行业价值,促进超算技术应用生态与产业数字化升级转型,打造一个全球化开放式HPC交流共享平台。 众所周知,AI领域?

  • 国人预购热情高涨!iPhone 12或成iPhone 6之后销量最好iPhone

    iPhone 12、iPhone 12 Pro自10月16日开启预售之后,预订十分火爆。中金发布报告称,内地消费者对iPhone 12预购热情高涨,iPhone 12很可能成为iPhone 6以来最具吸引力的一代iPhone。中金在报告

  • iPhone 12系列和iPhone 11等前代尺寸对比

    伴随着四款 iPhone12系列的推出,苹果目前为用户提供了丰富的尺寸选项。现在外媒 MacRumors 精心制作了从 iPhone SE 到 iPhone12Pro Max 的近年来机型的尺寸比较。其中注意的是,图片中使用的是 iPhone11Pro Max 的渲染图,而iPhone7Plus/8PLus 和 iPhone XS Max 的尺寸相同,就是后置摄像头有所区别。

  • iPhone会掀起5G换机潮吗?

    苹果经销商王绍在朋友圈写道。他告诉「Wise财经」,iPhone12系列虽然骂的人居多,但大家似乎都在用脚投票。“究竟iPhone12系列好不好,用户的脚说了算。”

  • iPhone 12

    ​今日凌晨,苹果正式发布了让人期待已久的全新的iPhone12 系列 4 款新的机型分,iPhone 12 Mini、iPhone 12、iPhone 12 Pro、Phone 12 Pro Max 。本文中,我们将主要介绍其 iPhone 12外观设计、性能配置、售价等方面的主要信息。

  • iPhone SE Plus爆料:或是刘海尺寸最小的全面屏iPhone

    ​9 月 27 日,有博主分享了一则关于iPhone SE Plus的最新爆料。值得注意的是,现在网上有着不少关于iPhone12 系列的爆料和少许全新iPhone SE的消息,但却很少有着关于iPhone SE Plus的信息。

  • iPhone 12发布前:近一半美国用户认为他们手中的iPhone已支持5G

    尽管iPhone 12要到10月14日才发布,但一项新的调查显示,大约49%的美国消费者认为,他们手中的iPhone已经可以支持5G。据外媒报道,测试和分析公司Global Wireless Solutions对美国5000名成年人

  • 除了iPhone12,你关注到这些开发者/推广人需要关注的事了吗?

    ​北京时间 10 月 14 日凌晨 1 点,苹果今年的第二场秋季新品发布会正式拉开帷幕。从发布会的内容来看,苹果今年的保密工作做的比较放松,所发布的产品与此前网上盛传的预测信息基本一致,iPhone12 成为了本次发布会的绝对主角。接下来就用几个关键词带你迅速了解本次发布会重点信息~

  • 除了iPhone12系列,所有iPhone均不再标配充电器

    苹果在10月14日iPhone12发布会上宣布,处于环保考虑iPhone12系列的包装盒中将不再有耳机和充电器,这引起了不少用户的热议,现在通过苹果官网发现,旧款的iPhone11和iPhoneXR等在售机型也将不会有充电器。

  • iPhone12怎么充电 iPhone12充电接口是什么

    iPhone12正式公布了,大家吐槽最多的就是没有配备充电头了,那么iPhone12要用什么充电呢?iPhone12的充电接口是什么?下面就来为大家详细的介绍一下。

  • iPhone12贴纸曝光 iPhone12 mini在内

    近日,有网友在推特上公布了3张Phone12系列硅胶保护壳标签贴纸,据悉,这3张贴纸分别命名为iPhone12 mini、iPhone12 Pro Max、iPhone 12和iPhone 12 Pro,对应了此前的三种预测。

  • 郭明錤:iPhone 12将占新iPhone出货量40% iPhone 12 Pro等3款各占20%

    10月12日消息,据国外媒体报道,苹果公司已经宣布,他们将在北京时间10月14日凌晨1点举行一次发布会,备受期待的iPhone 12系列智能手机,预计会在这一次的发布会上推出。从分析师和研究机构的预计来看,iPhone 12系列将有4款,分别是iPhone 12 mini、iPhone 12、iPhone 12 Pro和iPhone 12 Pro Max,全部支持5G网络连接,屏幕尺寸分别为5.4英寸、6.1英寸、6.1英寸和6.7英寸,全部采用OLED屏幕,前两款后置双摄,后两款?

  • iPhone 12在英国可能会遇到5G网络连接问题

    据《每日电讯报》援引业内人士消息称,iPhone 12‌型号可能不支持700MHz 5G频段,这意味着什么呢?700MHz等低频谱波段对5G覆盖至关重要,能穿透墙壁和建筑物,预计将成为英国5G网络最常见的形式。

  • iPhone12mini没有5G,传闻将被阉割

    最近外媒报道称,苹果的iPhone12系列入门版5.4英寸的机型叫做iPhone12mini,这款定位入门的机型有可能被阉割,或将不支持5G网络,也是今年唯一一款不支持5G的iPhone12系列。

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签