<code>如果希望在每一段脚本上都进行口令保护,可以结合使用<span>header</span>()语句、<span>$PHP_AUTH_USER</span>和<span>$PHP_AUTH_PW</span>来建立基<b style="color:transparent">来&源gao@dai!ma.com搞$代^码%网</b><img>搞gaodaima代码</img>本的认证方案,通常的基于服务器的提问<span>/</span>响应顺序都如下所示: <span>1</span>、用户从服务器上请求一个文件。如果这个文件在服一个<span>401</span>(示经授权的用户)字符串。 <span>2</span>、浏览器收到这个响应后,弹出要求用户输入用户 名<span>/</span>口令的对话框。 钮将信息返回服务器供认证使用。 <span>4</span>、如果用户名和口令有效,被保护的文件将向用户开放, 只要用户还在使用文件,认证会一直有效。 起自动显示用户名<span>/</span>口令对话框的HTTP头部就可以模仿HTTP的提问<span>/</span>响应系统,PHP把用户在用户名<span>/</span>口令对话框中输入的信息存储在<span>$PHP_AUTH_USER</span>和<span>$PHP_AUTH_PW</span>中,使用这二个变量,就可以与存储在文本文件、数据库等文件中的用户名<span>/</span>口令进行比较。 这个例子采用了二个硬编码的值进行认证,但无论用户 名和口令放在什么地方,其原理都是相同的。 </code>
<code><span><span><?php</span><span>if</span> ((!<span>isset</span>(<span>$PHP_AUTH_USER</span>)) || (!<span>isset</span>(<span>$PHP_AUTH_PW</span>))) { <span>/* 如果没有值,则发送一个能够引发对话框出现的头部*/</span> header(<span>'WWW-Authenticate: Basic realm="My Private Stuff"'</span>); header(<span>'HTTP/1.0 401 Unauthorized'</span>); <span>echo</span><span>'Authorization Required.'</span>; <span>exit</span>; } <span>else</span><span>if</span> ((<span>isset</span>(<span>$PHP_AUTH_USER</span>)) && (<span>isset</span>(<span>$PHP_AUTH_PW</span>))){ <span>/* 变量中有值,检查它们是否正确*/</span><span>if</span> ((<span>$PHP_AUTH_USER</span> != <span>"validname"</span>) || (<span>$PHP_AUTH_PW</span> != <span>"goodpassword"</span>)) { <span>/* 如果输入的用户名和口令中有一个不正确,则发送一个能够引发对话框出现的头部 */</span> header(<span>'WWW-Authenticate: Basic realm="My Private Stuff"'</span>); header(<span>'HTTP/1.0 401 Unauthorized'</span>); <span>echo</span><span>'Authorization Required.'</span>; <span>exit</span>; } <span>else</span><span>if</span> ((<span>$PHP_AUTH_USER</span> == <span>"validname"</span>) || (<span>$PHP_AUTH_PW</span> == <span>"goodpassword"</span>)) { <span>/* 如果二个值都正确,显示成功的信息 */</span><span>echo</span><span>"<P>You're authorized!</p>"</span>; } }<span>?></span></span></code>
<code>需要注意的是,如果你使用的是基于文件的保护机制,它并不能保证目录中所有的文件的安全。它可能保护大部分的文件,如果你认为它能够保护给定目录中的所有文件,你的这种认识就需要变变了。 </code>
‘).addClass(‘pre-numbering’).hide(); $(this).addClass(‘has-numbering’).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>以上就介绍了79 基于 PHP 的用户认证,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。