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