程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 用session代替apache服務器驗證

用session代替apache服務器驗證

編輯:關於PHP編程

對於需要身份驗證的頁面,使用apache服務器驗證是最好不過的了。
不過,apache服務器驗證的界面不夠友好。而且,並不是所有的情況
都可以使用apache服務器驗證,比如cgi模式的php,iis下的php。

用session可以在不同頁面間保存用戶身份,比如


login.php

<?
if ($name=="" && $pass=="")
{
?>

<form action="login.php">
user:<input type="text" name="name"><br>
pass:<input type="text" name="pass"><br>
<input type="submit" value="ok">
</form>

<?
}
else
{
if($name!="uuu" || $pass!="ppp")
{
echo "login fail!";
}
else
{
session_register("user");
session_register("passwd");
$user=$name;
$passwd=$pass;
echo "OK!<br><a href="next.php">next page</a>";
}
}

?>


next.php

<?
session_start();
echo "username:$user";
?>

但是,用戶可以使用http://domain.name.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已經基本實現對身份的可靠驗證。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved