在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用PHPLIB進行Session的管理與認證(轉載)

運用PHPLIB進行Session的管理與認證(轉載)

更新時間:2022-05-16 文章作者:未知 信息來源:網絡 閱讀次數:

PHPLIB還可以做很多別的事情,例如數據庫類。本篇文章只是對PHPLIB的簡單介紹。有很多類和功能都沒有提到。你可以到http://phplib.netuse.de去獲取更多的幫助文檔
---------------------------------------------------------------------
測試環境:標準環境

  首先要說明一個事實,用Web頁面設計需要保存客戶當前狀態的程序時極為不便,例如在線Shopping,作為一名程序員,你必須時時面對在各個主頁之間傳遞的狀態參數?蛻舻纳矸菡J證、他已做出的選擇、他當前的狀態等等,Web主頁并不會替你保存這些狀態信息,你必須自己小心處理這些參數,這給我們帶來了太多的不便,利用 http://url?var1=x1&var2=x2 來在主頁間傳送參數實在太危險,尤其是變量中包含用戶注冊信息時很容易被sniff,那么,我們如何解決這個問題呢?

  PHPLIB解決了這個問題,它是在PHP3上的一個擴展,提供了很多類庫,使得程序員能很容易地建立一個交互式Web站點,PHPLIB最基本的功能包括用戶認證,Session管理,權限及數據庫的抽象化。

  安裝PHPLIB前你必須在你的服務器上先安裝好php3,PHPLIB可以運行在Cgi方式或apache附加模塊方式。PHP3的版本必須時在3.0.5之上,PHP3早期版本可以在編譯時使用參數 --enable-foce-cgi-redirect來獲得支持,如果不這么做的話,會出現安全問題。PHP3的配置中 track_vars 需要設置為 enabled。同時需要一個數據庫,PHPLIB支持MySQL、Oracle、ODBC、PostgreSQL、Sybase。

  第一步,PHPLIB的類庫需要根據系統進行初始化,你可以修改local.inc文件,其中包含著一些基本參數,你可以根據自己機器的情況來進行修改。

  我們說明一下PHPLIB的工作原理,每一個使用PHPLIB的頁面首先必須可以找到運行PHPLIB的必須類庫文件,我們可以在php3.ini中設置auto_prepend變量來支持,PHPLIB分發包中包含一個prepend.php3文件,將auto_prepend指定為prepend.php3后,各頁面就會自動包含PHPLIB類庫,我們還可以將PHPLIB類庫所在目錄加進include變量中,以便可以找到這些文件,當然,最苯的辦法就是指定絕對路徑,這可不是個好主意!

第二步,每一個使用PHPLIB的頁面中,你必須使用函數page_open進行初始化。這會告訴PHPLIB,你現在或將來會用到狀態保存。一個典型的page_open例子包含到了認證、Session、權限:

< ?php
page_open(array( "sess" => "Cms_Session", "auth" => "Cms_Auth", "perm" => "Cms_Perm"));
?>

  數組變量(sess,auth,perm)用來初始化一些狀態保存對象,注意:必須使用PHPLIB內置名(sess,auth,perm),這些內置名是你在local.ini中所定義的,page_open函數必須在頁面內容輸出到瀏覽器之前被調用。(如果你將來不會用到認證的話,可以不初始化sess),php3腳本最后應以page_close()結束,這將會將有關狀態數據寫回到數據庫中,如果你忘了的話,將會,哈哈哈。。。

  因為PHPLIB使用了Cookies來保存狀態信息,所以page_open()函數必須在頁面內容輸出到瀏覽器之前被調用, 這里的頁面內容可以是任何HTML信息或者空行,如果你發現了錯誤"Oops - SetCookie called after header has been sent",這表明在page_open()之前向瀏覽器輸出了些什么,你要特別留意空行,因為非常難找到,典型的錯誤是在< ? 和 ?>標記之間輸出了空行,你應檢查在local.inc和prepend.php3文件中是否包含了空行,這也是一個非常容易出錯的地方。

  PHP使用了一種比基本認證方法更為復雜的架構,這使得安全有了更好的保證。

  舉例來說,對于你想要限制訪問的頁面,會首先使用page_open來調用"auth" => "auth_class" ,初始化認證狀態對象后,狀態就會被保存起來,隨后當客戶再訪問別的頁面的時候,認證系統就會首先檢測用戶的身份是否已經經過認證。

  讓我們解釋一下,當一個用戶第一次訪問頁面時,他的身份未經過認證,PHPLIB會調用一個注冊窗口(并非在WINDOWS中的彈出窗口),你可以自己設計注冊窗口的樣式,當用戶輸入他的用戶名與口令,并按下提交鈕后,身份認證工作就開始了,隨后的情況有些復雜,讓我們慢慢解釋……

  這里分兩種情況,如果用戶的瀏覽器不能兼容JavaScript的話,認證工作就象詢問嫌疑犯一樣,用戶名與口令被送往服務器,與存放在那里的數據進行比較。如果用戶的瀏覽器與JavaScript兼容,這就麻煩一些了,PHPLIB首先會在客戶端的頁面中放入一個用來加密的種子字串,名叫“challenge”,當用戶提交該頁面時,用戶的用戶名、口令和challenge字串會使用md5的加密方式進行加密,生成一個加密字串,將該加密字串與用戶名提交給服務器。當服務器收到用戶名和加密后的字串后,他根據數據庫中的用戶名與口令和得到的種子進行md5運算,將生成的字串與用戶提交的字串進行比較,如果符合的話,說明用戶身份是正確的,就允許用戶進行隨后的訪問。這種方法的好處是:用戶不用提交密碼,這使得認證比較安全。

  Session 管理
  其實Session的管理和身份認證非常接近,當一個用戶的身份認證過了后,隨即用戶的session就開始了,如果用戶的瀏覽器支持cookie的話,將會建立一個session的id放入cookie,這個唯一的ID是由PHP3隨機生成,然后又用隨機種子
字串進行md5加密過了的,這里的cookie應該叫做session cookie,因為這個cookie是不會寫到用戶硬盤里去的,當一個session進行完的時候,該cookie也被完結了。如果用戶瀏覽器不支持cookie的話,那么 該session的id將會放入url鏈中,因為是加密過的,所以竊取了也沒用。session id存放著用戶的有關信息,如用戶已認證、認證到期時間、用戶權限,和其他一些你可能需要的信息,方便我們取用。

  Session其實就是用戶一次會話的過程。Session的管理并不是僅僅用來跟蹤用戶的注冊,實際上,它還可以脫離認證來使用,你可以用它來存儲任何你想要存貯的信息,這些信息可以在用戶隨后訪問的頁面中派上用場,當然前提是那些頁面要使用PHPLIB。方法很簡單,注冊一個變量后即可在隨后的頁面中使用它,直至session結束。方法:

< ?php $sess->register( "variable_name"); ?>

  注意,這里的variable_name不是變量值,而是變量名,可以先指定變量名,隨后再賦值。你在某個頁面中可以改變變量的值,隨后的頁面訪問該變量時會得到改變后的值。變量的類型是多樣的,可以是一個字串,一個數字,一個數組,甚至一個對象。舉例來說明:

< ?php
$sess->register( "first");
if (check($firstname)) {
$first = $firstname;
}
?>

  注意:這里有一點很重要。你可以先注冊一個變量隨后再對它賦值,這樣非常有效,我們大可以在腳本的任何地方定義變量而不賦值,而在隨后的頁面中再賦值,這樣方便集中定義變量。大家可能注意到了,上面的例子中我們沒有簡單的對變量賦值,處于安全的考慮,你不應該輕率地將表單數據放入變量。上例中,我們對變量進行了檢查,然后才對變量賦值。這是一個很好的習慣。大家應該注意。

  注冊完一個變量,當頁面最后調用page_close()函數后,各個session變量會被寫回到數據庫中,如果你忘記調用page_close()函數的話,變量就不會被寫回數據庫,將出現不可予知的后果。當變量被使用完畢后,你不在需要用到了,可以調用以下函數將變量刪除:

< ?php
$sess->unregister( "variable_name");
?>

  PHPLIB 7.0中,使用了一種存儲結構,它允許你存儲session數據到數據庫中、共享內存中或者LDAP中。PHPLIB使用了數據庫類,這使得你有了更多的選擇。

  權限管理
  權限是和認證分不開的。當一個用戶的身份被確認以后,你可以接著來確定他的級別及權限。當然,你必須先調用page_open來初始化"perm"對象。檢查用戶權限的命令如下:

< ?php
$perm->check( "permission_level");
?>

  這條命令會檢查用戶是否符合你指定的級別,指定的級別應在local.inc文件中已經定義好,你可以自己定義各種級別。如果用戶被檢查出不符合級別。則perm_invalid()函數自動被調用。你可以建立自己的perm_invalid函數。

  以下是PHPLIB中檢查權限的另一種方法:

< ?php
$perm->have_perm( "permission_level");
?>

  have_perm與check函數不同,它只返回true或false,但并不退出腳本,這樣我們可以更好的控制程序流程。

< ?php
if ($perm->have_perm( "guest"))
{ //do something; }
elseif ($perm->have_perm( "admin"))
{ //do something else; }
else { //yet something else; }
?>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 99热一区二区三区| 日韩视频第二页| 国产婷婷一区二区三区| 青青草原成人网| 毛毛毛毛毛毛毛片123| 国产午夜福利100集发布| 三上悠亚在线一区二区| 日日摸日日碰夜夜爽无码| 国产欧美一区二| 免费在线观看毛片网站| 人人妻人人澡人人爽欧美一区双| 男人亚洲天堂网| 天堂在线中文在线| 99热在线这里只有精品| 97视频在线免费| 中文字幕日韩精品无码内射| 国产免费中文字幕| 亚洲乱码中文字幕久久孕妇黑人| 日本香蕉视频在线观看| 日本成人在线不卡| 无码人妻精品一区二区蜜桃百度| 日本网站在线看| 青青青青在线视频| 伊人网在线免费| 亚欧在线免费观看| 国内外免费激情视频| 日韩国产小视频| 成年丰满熟妇午夜免费视频| 成年人免费观看的视频| 最新av免费在线观看| 高清av免费看| youjizz.com亚洲| 成人亚洲免费视频| 91av在线免费播放| 黄色国产一级视频| 99在线免费视频观看| 日韩精品 欧美| 欧美黑人又粗又大又爽免费| 亚洲五月天综合| 一道本视频在线观看| 在线观看日本一区二区| 伊人网在线免费| 女人天堂av手机在线| www黄色av| 国产精欧美一区二区三区白种人| 五月天丁香花婷婷| 男人添女荫道口图片| 激情六月丁香婷婷| 国产真人做爰毛片视频直播| 成人三级视频在线播放| 91在线第一页| 亚洲免费在线播放视频| 特黄特黄一级片| 欧美黄网在线观看| 中文字幕第36页| 国产在线视频三区| www国产精品内射老熟女| 午夜dv内射一区二区| 国产xxxxx在线观看| 午夜精品久久久久久久99热影院| 香蕉精品视频在线| 国产主播在线看| 99视频精品全部免费看| 北条麻妃视频在线| 成人污网站在线观看| 日韩av卡一卡二| 欧美两根一起进3p做受视频| 久久久久久久久久久久久国产精品 | 好吊色这里只有精品| 欧美黑人经典片免费观看| 国内精品视频一区二区三区| 伊人网在线综合| 国产精品涩涩涩视频网站| 欧美与动交zoz0z| 久久久免费视频网站| 丁香色欲久久久久久综合网| 在线看免费毛片| 日日噜噜噜噜久久久精品毛片| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 视频一区二区视频| 亚洲图色中文字幕| 日韩视频免费在线播放| 国产91xxx| 婷婷无套内射影院| 欧美又粗又长又爽做受| 国风产精品一区二区| 三级在线免费观看| 国产一级片自拍| 自慰无码一区二区三区| 日韩av三级在线| 精品国产一区三区| 国产极品粉嫩福利姬萌白酱| 欧美在线观看黄| 成人小视频在线观看免费| 红桃av在线播放| 欧美三级一级片| www国产无套内射com| 日韩精品一区二区免费| 欧美做暖暖视频| 可以在线看的黄色网址| 国产素人在线观看| 三区视频在线观看| 精品一二三四五区| 日本女优爱爱视频| 国产高清免费在线| 国产91在线免费| 国产精品一二三在线观看| 99热都是精品| 337p粉嫩大胆噜噜噜鲁| 美女福利视频在线| 久久国产激情视频| 99色精品视频| 一区二区三区国产好的精华液| 吴梦梦av在线| 99精品在线免费视频| 亚洲中文字幕久久精品无码喷水| 精品日韩久久久| 狠狠干视频网站| 国产精品涩涩涩视频网站| 国产91色在线观看| 成人午夜免费在线视频| 欧洲精品在线播放| 国产天堂在线播放| 99re6这里有精品热视频| 国产午夜伦鲁鲁| 日本一本草久p| 熟女性饥渴一区二区三区| 可以免费看的黄色网址| 日韩va在线观看| 丰满少妇在线观看| 久草综合在线观看| 日韩激情免费视频| 日日摸日日碰夜夜爽无码| 九九久久九九久久| 成年在线观看视频| 人人妻人人澡人人爽欧美一区| 超碰中文字幕在线观看| 欧美又黄又嫩大片a级| 少妇一级淫免费放| 婷婷免费在线观看| 亚洲欧美视频二区| 激情在线观看视频| 亚洲国产成人va在线观看麻豆| 超碰在线播放91| 久国产精品视频| 欧美一级特黄aaaaaa在线看片| 国产免费一区二区三区四在线播放| 成人免费黄色av| 黄色一级视频播放| 成人av在线不卡| 精品欧美一区免费观看α√| 欧美 国产 小说 另类| 黄色国产小视频| 国产一区二区在线观看免费视频| 国产免费中文字幕| 国内自拍中文字幕| 九色在线视频观看| 亚洲欧美激情网| 国产日产欧美一区二区| 青青青青草视频| 精品亚洲一区二区三区四区| 桥本有菜av在线| 春日野结衣av| 国产高清精品软男同| 免费无码毛片一区二三区| 黄色国产小视频| 国产免费xxx| 免费观看成人网| 少妇一晚三次一区二区三区| 国产超级av在线| 日韩视频在线免费播放| 国产精品中文久久久久久| 欧美乱大交xxxxx潮喷l头像| 久久综合久久色| 成年人视频大全| 丁香婷婷激情网| 成年女人18级毛片毛片免费| 三级在线视频观看| 久久成人免费观看| 中文字幕第66页| 一本久道综合色婷婷五月| 国产高清精品软男同| www.日日操| 国产伦精品一区二区三区四区视频_| 超碰在线人人爱| 免费看日本毛片| 久久久久久久久久久综合| 一区二区三区 日韩| 春日野结衣av| 成人免费观看cn| 国产又粗又大又爽的视频| 亚洲这里只有精品| 国产精品99久久免费黑人人妻| 蜜臀av性久久久久蜜臀av| 波多野结衣网页| 日本人69视频| 欧美成人福利在线观看| 在线观看av日韩| 中文字幕在线导航| 美女网站色免费|