说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

建设一个简单交互的网站(三)密码验证 -PHP初学入门教程7

HTML文档下载 WORD文档下载 PDF文档下载
介绍密码验证的方法。

 

6. 密码验证

 

  也许你想在自己的网站放上你的照片集,而且只想给自己知心的朋友看,这时你需要一个密码验证的程序。

 

6.1 基于HTTP验证

 

  如何用PHP来实现密码验证的功能呢?我们可以使用简短的PHP代码,使用函数header()发送HTTP标头强制验证,客户端浏览器则弹出供输入用户名和密码的对话框。在PHP中,客户端用户输入的信息传送到服务端之后自动保存在$PHP_AUTH_USER, $PHP_AUTH_PW, 以及 $PHP_AUTH_TYPE这三个全局变量中。利用这些变量,我们就可以根据实现保存在数据文件或数据库中的用户帐号信息验证用户身份。   不过在这里需要提醒使用者注意的一点是:只有在Apache模块方式运行的时候,PHP脚本才能使用$PHP_AUTH_USER, $PHP_AUTH_PW, 以及 $PHP_AUTH_TYPE这三个变量。如果用户使用的是CGI模式的PHP则无法实现基于HTTP的验证功能。 

 

6.2 下面,我们就来详细介绍一下如何使用PHP对用户身份进行验证。

 

  在下例中,我们是使用$PHP_AUTH_USER和$PHP_AUTH_PW这两个变量来验证进入者是否合法并允许进入。在本例中被允许登录的用户名称和密码对分别为tnc和nature:

<?if(!isset($PHP_AUTH_USER)) {Header("WWW-Authenticate: Basic realm="My Realm"");Header("HTTP/1.0 401 Unauthorized");echo "Text to send if user hits Cancel buttonn";exit;} else {if ( !($PHP_AUTH_USER=="tnc" && $PHP_AUTH_PW=="nature") ){// 如果是错误的用户名称/密码对,强制再验证Header("WWW-Authenticate: Basic realm="My Realm"");Header("HTTP/1.0 401 Unauthorized");echo "ERROR : $PHP_AUTH_USER/$PHP_AUTH_PW is invalid.";exit;} else {echo "Welcome tnc!";}?>
 事实上再实际引用中不大可能如上面使用代码段明显的用户名称/密码对,而是利用数据库或者加密的密码文件存取它们。 
6.3 根据指定的验证信息核实用户身份
  首先,我们可以使用以下代码确定用户是否已经输入了用户名和密码,并显示出用户输入的信息。
<?php if (!isset($PHP_AUTH_USER)) {header('WWW-Authenticate: Basic realm="My Private Stuff"');header('HTTP/1.0 401 Unauthorized');echo 'Authorization Required.';exit;}else {echo "<P>You have entered this username: $PHP_AUTH_USER<br>You have entered this password: $PHP_AUTH_PW<br>The authorization type is: $PHP_AUTH_TYPE</p>";}?>
说明:
isset()函数用于确定某个变量是否已被赋值。根据变量值是否存在,返回true或false。
header()函数用于发送特定的HTTP标头。注意,使用header()函数时,一定要在任何产生实际输出的HTML或PHP代码前面调用该函数。
  虽然上述代码相当简单,没有根据任何实际值对用户输入的用户名和密码进行有效验证,但是至少我们了解了如何使用PHP在客户端产生输入对话框。
  下面,我们就来了解一下如何根据指定的验证信息核实用户身份。代码如下:
<?phpif (!isset($PHP_AUTH_USER)) {header('WWW-Authenticate: Basic realm="My Private Stuff"');header('HTTP/1.0 401 Unauthorized');echo 'Authorization Required.';exit;}else if (isset($PHP_AUTH_USER)) {if (($PHP_AUTH_USER != "admin") || ($PHP_AUTH_PW != "123")) {header('WWW-Authenticate: Basic realm="My Private Stuff"');header('HTTP/1.0 401 Unauthorized');echo 'Authorization Required.';exit;} else {echo "<P>You're authorized!</p>";}}?>
在这里,我们首先检查用户是否已经输入了用户名称和密码,如果没有则弹出相应对话框要求用户输入身份信息。随后,我们通过判断用户输入的信息是否符合admin/123这一指定用户帐号来授予用户访问权限或提示用户再次输入正确的信息。这种方法适用于所有用户都使用同一登录帐号的网站。 
6.4 另一种简易的密码验证
  如果你是在windows98下面编写和运行着你的PHP脚本,或者是你在Linux下面按默认设置,将PHP安装成一个CGI程序的话,你将无法使用上面的PHP程序来实现验证功能。为此,无边给大家提供了另外一种简易的密码验证的方法。虽然实用性不大,但是拿来学习还是挺好的。
<?php$password = "123"; // check passwordif($pass != $password){echo "<html><head><title>管理密码</title></head><body>";echo "<form method="post" action=$PHP_SELF>";echo "请输入你的管理密码:<br>";echo "<input type="password" name="pass">";echo "<input type="submit" value="continue">";echo "</form></body></html>";}else{echo "<html><head><title>恭喜你,你已经通过了密码验证</title></head>";echo "<script>";echo 'window.location="http://www.okbase.net/test/index.php3"';# 通过密码验证后转入的页面echo "</script>";}?> 

 

避免使用全局变量-VB资料 避免装载多份应用程序-VB资料 不定个数的参数 -VB资料 不在任务栏中显示,只能在Ctrl+Alt+Del对话框中显示或者干脆什么也不显示数 -VB资料 处理 Dropdown List型 Combo的录入问题-VB资料 VB创建和删除快捷方式 从程序中生成 exe 文件 -VB资料 打开和关闭CD-ROM 驱动器 -VB资料 打开和关闭其他应用 -VB资料 打开一个超连接 -VB资料 当前操作系统的语言集-VB资料 当前系统目录-VB资料 得到磁盘上剩余空间的值-VB资料 调用“添加打印机”对话框 -VB资料 调整分辩率和取当前分辩率 -VB资料 定义全局热键-VB资料 动记录应用软件工作时间-VB资料 动态改变屏幕设置-VB资料 读取档案的建立时间及存取时间 -VB资料 多个参数的属性 -VB资料 发现剪帖板的秘密 -VB资料 发现拖(Drap)过来的信息 -VB资料 防止打开同个VB应用多个实例 分割图像的原理 -VB资料 封面的设计 -VB资料 改变 Win95 的 Shell -VB资料 改变墙纸 -VB资料 格式化磁盘 -VB资料 跟我学用ActiveBar-VB资料 VB获得IE的版本号 VB获得Windows启动方式 一个很简单的问题. 为什么 “基本图象处理代码(1) ehom(原作)”对grayscale不对? linux下的oicq 有马? 帮帮我,好吗,感谢,非常 help,help,sql query question? 大家认为考研考进其他学校(且跨专业)的可能性有多大 显示图片 数据库搜索的一个怪问题 共享上网问题!急~!!!! 句柄和指针有什么区别吗? 大虾快进来,帮帮兄弟们!!!再现等待!高分!! 请问C++Builder的程序中能不能使用*.mdb类型的数据库? 帮帮忙!!个位大哥 请问用java编程能实现数据采集的程序并进行传输(即c/s模式)吗? 请问什么命令找开一个窗体的? 请问:如何从文件中获取icon并得到HBITMAP句柄? 如何在客户端打开一个word文件 MVP是个什么概念???? linux启动不了,Bringup loopback interface时出错,请问是什么原因? 帮帮忙!! 我海军一艘潜艇失事 70名官兵不幸全部遇难!! 明天朋友结婚,征集整人的法子 是谁删除了我贴?? 而且没有跟我说一声!!! 白天工作,晚上溜狗,爽呀!比大暑天喝了冰镇雪碧还爽! 我的jsp服务器是iis+TOMCAT+win2000pro 不知怎的每次用不了多久就显示出 网页无法显示 目前访问该 Web 站点的用户过多,我只是自已用怎么 终于有星了,高兴,散分(第一次散分,请斑竹手下留情) 我的刚装的2000进入启动界面时,进度条读到2/3时就蓝屏了! 请问在运行时向ActiveX控件中添加ActiveX控件的方法是什么? 高手请进:如何在WinNT以上系统进行BIOS读取! 毕业设计的问题,请各位大哥帮小弟一个忙 备份与恢复 数据备份与恢复 我用win2k,下载了php4.3.1,extension_dir是c:\php\ext 可是里面没有php_gd.dll,怎么办,到哪里可以down一个补上? 帮我一下:解决中文问题 新手问题:怎么在用ATL COM WIZARD已生成的dll加入MFC 请问如何删除系统? warton给大家散分来了! 求助,请问哪儿提供的域名空间最好? 新手上路,VB中用ODBC连接ACCESS 关于ORACLE中(多)表的备份和恢复问题 MM``狂给分^*^ 找人一同研究JUnit对于数据库的测试架构 怎样在程序中动态生成数据库(内存库)?求救高手 请问,怎样用本机作web服务器? 这样的夜晚 想起一些故人.... 各位的jbuilder是用什么命令运行的 刚学者求问 python+CGI 如何获得客户端IP Win2000上, 对话框没能弹出到桌面顶层 在静态上下文中不能引用非静态变量? 有没有高手可以举例讲解一下self的各种用法? 一个很困惑的问题:文字处理软件中,字体大小改变时,字符的高度,宽度怎么变化? Write at least 150 words(英语写作的要求)题目:Write a description for your teacher of a beautiful place where you would love to be.Try to make your teacher feel what it is like to be.in that place.求各位擅长英语的大侠帮帮我,15 凡卡 以凡卡甜蜜的梦结束的妙处是什么 求一UFO电影,内容是这样的,前面忘了,女的是外星人,最后男的在田里造了一个麦田圈,然后飞碟就来了,把女的接走了.字打打完了,补充也是内容. -May I _______ (go) to the football game?-When _______ it _______(be)?-Next Monday afternoon.May I __(go)?-yes.Who ________(go) with you?-Li Ming-______you _________(get)the tickets?-Yes.这个对话中句子各用什么时态,为什么?特别是第2 鸡为什么有吃石头的现象 核舟记作者细致写人的外貌和动作有什么作用 THE sun rose behind me and beyond the rocks. 写出“春”开头的10个成语 Are ______in the same class?A.you,he and I B.you,I and he哪位高手朋友能告诉我要选择A还是B,为什么 四分之三拍的示意图?请问四分之三拍的示意图是什么啊? 采光顶玻璃弯曲强度与建筑幕墙玻璃有何不同 You and I are in the same school .are为什么不能用both 什么是四分之三拍,求详解,我非常之不懂 The book is helpful for my ______(write) English . 娱乐这个词语的意思是什么? 类似于 far beyond the common people's life 的表达想要说 某种理论太抽象 与普通人的生活难以接轨 应该怎么说?I said "the revolutionary concepts were too abstract and far beyond common people’s life" does it make sense? It‘s helpful to ___the words of English if you want to improve your English是m打头的 娱乐这个词什么意思? 重5牛的小球对竖直悬绳的拉力怎么算 My mother is f ,but she looks young 在F后填词 娱乐这个词的意思是什么 重5牛的小球对竖直悬绳的拉力是多少 p58/22.Tim's mother looks ( )than she is .(the more older/very older/much older/more older)这题应该选择什么,另外再说说其它3个不能选的理由. I do not like these jeans.Could you show me another one?错在哪里 重5牛的小球对竖直悬绳的拉力是不是5牛 写出一开头的成语多一点. I do not like these trousers. Can you show me( )A、one anotherB、another oneC、any other oneD、any others请各位把原因也写上,谢谢 Let's get it start,What's up 的伴奏 The pencil boxes are hers?对 hers提问 very一词的用法 为什么直接在名词前我看到一个句子 the very house 这个very在译文中没翻译出来,在这有什么作用 介词Since单词的用法. 写出3个以一开头的成语例:一言既出,驷马难追【 】,【 】【 】,【 】【 】,【 】xxxxxxxxxx你们了 求有关古诗词的题目 用一大批形状一样的四边形木板,可以拼成大面积的地板,这利用了四边形的什么性质不是平行四边形 归园田居其一表明了作者怎样的生活态度 I'm busy these days.I have____to do .A.so many B.too many C.too much D.very much For dinner,my aunt like fruit salad.哪里错了 The roosters are beautiful.对beautiful提问 一道简单英语题求可填的词和分析句子结构(第3题,第4题) l'd like to go to the cinema tonight改为一般疑问句 物体A以某一初速度冲上倾角为30度的斜面,经2s沿斜面上升12m而速度变为零,求从最高点返回原处所用时间 I'd give you most of it because you have been so good to me all these We like have salad after dinner.改错 物体以某一速度从A点冲上倾角为30°的固定斜面,其运动的加速度为 ,此物体在斜面上上升的最大高度为h质量为m的物体(可视为质点)以某一速度从A点冲上倾角为30°的固定斜面,其运动的加速 1.翻译:你的朋友比你要外向的多吗?Is your friend ___ ___ ___than you2.我的父母更严肃 my parents are ___ ___ 用正三角形、正四边形、正十二边形三种图形能否组合在一起铺满地板?试说明理由.一点, 汪静之《时间是一把剪刀》中,诗人对“时间”形象的比喻,可以看作是诗人对什么的形象描绘?是他什么心情的间接表现? 妈妈买了二分之一千克苹果,也就是买了50%千克苹果. 巨石阵真的是外星人建的吗?感觉不是很精细,但是确实很庞大 .图中竖直平面xOy内存在有竖直向下的电场,带电小球以初速度v0从O点沿x轴水平射入,恰好通过平面中的A点,OA连线与Ox夹角为300,已知小球质量为m,则带电小球通过A点时的动能为 Bon Jovi的Have a nice day.MP3格式,放空间里用的. 有谁知道关于外星人存在的证据比如说!巨石阵金字塔复活节岛等一系列建筑是当今无法复制的作品的证据 1.His mother look young.(改错) 有个节目叫:比手划脚,就是:一个人在做动作,然后让别人来猜出这是那个成语或是词语.寻找可以用来做节目的词语 写一开头的成语指导理解的不够全面透切 Peter doesn't look ___ his mother at all.填介词 这个诗词该定个什么题目,千里名炀 万里齐聚 望店奇观上有客房 下设美食 中夹美容另俱桑拿 层次分明 装饰豪华可与碧海为一拼 须常来 缓精神之压 品美食之肴 此地如此之雅引无数高朋竟 采光顶玻璃的弯曲强度与建筑幕墙玻璃有何不同 核舟记是谁写的 I have a tomato怎么变单数 中纪委监察部带头落实八项规定 会议费范冰冰裸体甘露生活照曝光 竟是《女特斯诺登请求美对其法外施仁 白宫拒绝并阿盟呼吁叙利亚反对派参与日内瓦国际和印度一名女婴患家传怪病 身体多毛酷似埃及前总统穆尔西审判前夕 两名当地警太平洋岛国被指有日本沉船宝藏 价值8克罗地亚中央墓园--欧洲最美的墓园【印度女婴家传怪病 身体多毛酷似狼孩(俄罗斯军事动作令邻国不安 北约军演以印度将发射环火星探测器 否认与华“太英国15岁少年欲滑雪闯南极 探险为筹最贵钻石亮相纽约 估价超六千万美元(泰游船沉没一中国游客遇难中国金融改革步入深水区 推进内外开放克里中东之行访埃及 停留数小时修复两男子患病“变形”却不“金刚” 被迫宅永嘉一家六口当老鸨栽了非洲多国出现罕见混合型日食克里访开罗寻求修复美埃关系长兴3万株古银杏披“金”衣与青山翠竹赵石来北京了!贴心牛经理的爱心便当首富的秘密脑洞大开成语接龙你会看到量词一则关于友谊的语言故事表妹机智的唐僧我画出来的,是你的烦恼吗?姑娘胖子的忧桑越喜欢谁,越喜欢欺负谁谁家的熊孩子新编童话之白雪公主开学啦老板,你太机智了学习深井烧鹅技术 只是学习理论就可以
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘