对于需要身份验证的页面,使用apache服务器验证是最好不过的了。不过,apache服务器验证的界面不够友好。而且,并不是所有的情况都可以使用apache服务器验证,比如cgi模式的php,iis下的php。
用session可以在不同页面间保存用户身份,比如
login.php
- if ($name=="" && $pass=="")
- {
- ?>
- >
- user:"text" name="name">
- pass:"text" name="pass">
- "submit" value="ok">
-
- }
- else
- {
- if($name!="uuu" || $pass!="ppp")
- {
- echo "login fail!";
- }
- else
- {
- session_register("user");
- session_register("passwd");
- $user=$name;
- $passwd=$pass;
- echo "OK!
next.php">next page";
- }
- }
- ?>
-
next.php
- session_start();
- echo "username:$user";
- ?>
但是,用户可以使用http://phpfensi.com/next.php?user=uuu 来绕过身份验证。
所以,实际的next.php必须是这样:
- session_start();
- if (!session_is_registered("user"))
- {
- echo "login fail";
- }
- else
- {
- echo "username:$user";
- }
- ?>
使用session_is_registered()来检测session变量,这样,用session已经基本实现对身份的可靠验证。 |