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来连接数据库了,这期间你是怎么学会的,我们不去考证了,但是事实证明,你已经可以了。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 兴趣是最好的老师,百度是最好的词典。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 当然这种网站的会员费就几十块钱。 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 Ps:以上纯属原创,如有雷同,纯属巧合 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
页:
[1]
2