仓酷云

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

[学习教程] PHP编程:PHP剧本的10个技能(转自ZDNet) --采取...

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:24:38 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

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

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

x
PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。技能|剧本   采取PHP的用户认证

假如你但愿在每个剧本的基本上完成口令回护功效,那末你可以结合利用header()函数和$PHP_AUTH_USER、$PHP_AUTH_PW全局变量来发明一个根基的认证计划。凡是的、基于办事器的认证恳求/呼应回合很象上面这个模样:

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

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

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

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停止无效性的反省。

上面的这个例子显示对2个设定值的反省,但在实际上和以上的用户名和口令反省并没有实质的分歧。

<?
/* Check for values in $PHP_AUTH_USER and $PHP_AUTH_PW */

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

    /* No values: send headers causing dialog box to appear */
    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))){

    /* Values contain some values, so check to see if they're correct */

    if (($PHP_AUTH_USER != "validname") || ($PHP_AUTH_PW != "goodpassword")) {
       /* If either the username entered is incorrect, or the password entered is incorrect, send the headers causing dialog box to appear */
       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")) {
       /* if both values are correct, print success message */
       echo "<P>You're authorized!</p>";
    }
}
?>

记住,当你正在利用基于文件的回护办法时,这类体例不是相对能回护目次的平安毯。这对你们中的大多半人而言是不言而喻的,然而,假如你的大脑在弹出对话框之间和回护给定目次之间创立一个毗连,那末你必需费点劲来熟悉这一历程。

  培训的第一阶段,学习的是HTML/CSS/JavaScript基础。
飘飘悠悠 该用户已被删除
沙发
 楼主| 发表于 2015-3-12 07:58:10 | 显示全部楼层
爱上php,他也会爱上你。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-14 09:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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