仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2983|回复: 20
打印 上一主题 下一主题

[学习教程] PHP编程:利用PHP摹拟HTTP认证

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:28:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
兴趣可能会慢慢消亡,所以适当培养兴趣会激发自己无线的乐趣,有了乐趣,编程有啥难的。   假如你但愿在每一个剧本的基本上完成口令回护功效,那末你可以经由过程联合header()函数和$PHP_AUTH_USER、$PHP_AUTH_PW全局变量的办法来创立一个根基认证机制。凡是基于办事器的认证恳求/呼应进程以下:



1. 用户向一台Web办事器恳求一个文件。假如文件在一个遭到回护的区域之内,办事器就在呼应数据的头部内加上401(不法用户)字符串作为回应。

2.阅读器看见该呼应以后弹出用户名/口令对话框。

3.用户在对话框中输出用户名和口令,然后单击“OK”把这些信息送回到办事器停止认证。

4. 如用户名及口令无效,被回护的文件将会显示给用户。该确认将在经证明的用户在回护区域内的工夫里延续无效。 

一个复杂的PHP剧本可以经由过程发送恰当的HTTP头以在客户机屏幕主动显示用户名/口令对话框以摹拟HTTP认证恳求/呼应体系。PHP将用户输出对话框的信息存储在$PHP_AUTH_USER和$PHP_AUTH_PW变量中。经由过程利用这些变量,可以把不合适用户名/口令查验的列表寄存到某个文本文件、数据库或你但愿的任何中央。

注重:$PHP_AUTH_USER、$PHP_AUTH_PW和$PHP_AUTH_TYPE全局变量仅当PHP被看成一个模块装置时才是无效的。如正利用PHP的CGI版本,则将仅限于利用基于htaccess认证或基于数据库的认证体例,并经由过程HTML表单让用户输出用户名和口令,然后再让PHP完成无效性的反省。

本例显示对两个硬件编码值切实其实认反省,不管用户名和口令寄存在何处,这在实际上完整不异。

<?

/* 反省变量 $PHP_AUTH_USER 和$PHP_AUTH_PW 的值*/

if ((!isset($PHP_AUTH_USER)) || (!isset($PHP_AUTH_PW))) {

/* 空值:发送发生显示文本框的数据头部*/

header('WWW-Authenticate: Basic realm="My Private Stuff"');

header('HTTP/1.0 401 Unauthorized');

echo 'Authorization Required.';

exit;

} else if ((isset($PHP_AUTH_USER)) && (isset($PHP_AUTH_PW))){

/* 变量值存在,反省其是不是准确 */

if (($PHP_AUTH_USER != "validname") || ($PHP_AUTH_PW != "goodpassword")) {

/* 用户名输出毛病或暗码输出毛病,发送发生显示文本框的数据头部*/

header('WWW-Authenticate: Basic realm="My Private Stuff"');

header('HTTP/1.0 401 Unauthorized');

echo 'Authorization Required.';

exit;

} else if (($PHP_AUTH_USER == "validname") || ($PHP_AUTH_PW == "goodpassword")) {

/* 用户名及暗码都准确,输入胜利信息 */

echo "<P>You're authorized!</p>";

}

}

?>

必需提示,当你正在利用基于文件的回护时,此体例其实不能对目次供应全方位的平安保证。。这对大多半人而言是很分明的,然而,假如你的大脑在弹出对话框和回护给定目次两者之间创立一个毗连,你应当对此停止进一步的思索。。

Julie Meloni 是i2i Interactive的手艺主管,及Linux和开放源代码社区的鼎力推进者。她撰写了良多关于PHP及其他手艺的书本,并成为对CNET Builder.com具有临时奉献的专家。


  终于理解了数据库的概念,而且让你兴奋不已的是你终于可以通过PHP来连接数据库了,这期间你是怎么学会的,我们不去考证了,但是事实证明,你已经可以了。
蒙在股里 该用户已被删除
沙发
发表于 2015-2-4 13:11:08 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
再现理想 该用户已被删除
板凳
发表于 2015-2-9 13:53:22 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
因胸联盟 该用户已被删除
地板
发表于 2015-2-13 13:00:34 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
若天明 该用户已被删除
5#
发表于 2015-2-23 11:34:30 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-28 16:02:30 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
透明 该用户已被删除
7#
发表于 2015-3-6 16:21:22 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
不帅 该用户已被删除
8#
发表于 2015-3-13 04:09:21 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
再见西城 该用户已被删除
9#
发表于 2015-3-15 07:28:11 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
飘飘悠悠 该用户已被删除
10#
发表于 2015-3-21 20:14:00 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
柔情似水 该用户已被删除
11#
发表于 2015-4-3 04:52:50 | 只看该作者
当然这种网站的会员费就几十块钱。
深爱那片海 该用户已被删除
12#
发表于 2015-4-6 06:31:45 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
莫相离 该用户已被删除
13#
发表于 2015-4-11 06:10:26 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
小魔女 该用户已被删除
14#
发表于 2015-4-24 22:12:25 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
愤怒的大鸟 该用户已被删除
15#
发表于 2015-4-26 01:10:33 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
乐观 该用户已被删除
16#
发表于 2015-4-26 22:11:00 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
小妖女 该用户已被删除
17#
发表于 2015-5-1 15:08:20 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
飘灵儿 该用户已被删除
18#
发表于 2015-5-1 17:10:53 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
兰色精灵 该用户已被删除
19#
发表于 2015-5-2 04:01:34 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
简单生活 该用户已被删除
20#
发表于 2015-5-4 11:17:51 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-29 05:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表