亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

Linux+Apache實現用戶身份認證

添加時間:2013-6-8 15:37:31  添加: 思海網絡 
 一、序言

  現在很多網站對用戶的訪問權限進行了嚴格的限制,用戶在訪問某些資源時需要給出“用戶名/口令"來確認自己的身份。

  目前,使用最多的身份認證方法是將用戶名、口令存放在一個數據庫中,當用戶要訪問某些受限制的資源時,要在某一個頁面中輸入用戶名和口令,程序將用戶輸入的用戶名和口令與數據庫存放的“用戶名/口令"相比較,如果輸入正確,則正常使用資源,否則,資源訪問被拒絕。但是,這種身份認證方式有兩個很大的問題,一方面只要用戶有一次身份認證成功,就可以記錄下受限資源的鏈接地址,在下一次訪問時只需輸入該地址,而無需通過身份認證過程就可訪問受限資源;另一方面用戶可以在受限制的資源的超級鏈接處點右鍵,選擇“屬性",就可以查看到受限制資源的鏈接地址,直接訪問該地址,使身份認證不能達到預期的效果。

  Apache可以很好地解決上述問題。Apache是建立WWW網站的軟件,可運行于Linux、 Unix和Windows操作系統下。下面就以Linux為例介紹Apache是如何完成用戶身份認證功能的。

  二、基本原理

  Apache實現身份認證的基本原理是:當系統管理員啟動身份認證功能后,可以在要限制的目錄中添加一個默認名“.htaccess"的文件。當用戶訪問該路徑下的資源時,系統就會彈出一個對話框,要求用戶輸入“用戶名/口令"。也就是說,它的身份認證功能不是人為由程序控制,而是由系統直接控制的。這樣就避免了用戶記錄需要認證的資源的超級鏈接,不會下次直接訪問資源。

  身份認證的方法有多種,其中包括Apache中預編譯好的mod—auth模塊和Apache自帶的但未編譯好的模塊,如:mod—auth—dbm模塊、mod—auth—db模塊、mod—auth—msql模塊。另外還有一些第三方開發的模塊,如:MySQL數據庫中使用的mod—auth—MySQL模塊,他們都可以對一組用戶或某個用戶進行限制。

  三、具體實現

  下面主要介紹mod—auth模塊和mod—auth—MySQL模塊的使用。但無論采取何種認證方式,都要先對Apache做一些設置:在配置文件access.conf中作如下的設置:

  AccessFileName . htaccess

  AllOerride All

  (一) mod—auth模塊完成身份認證功能,它主要是把允許訪問資源的組名、用戶名、用戶口令以文本文件的方式存放,具體方法是:

  1.編輯認證用的組文件:主要用于存放可以訪問受限制的資源的組名以及其中的用戶,用Vi編輯組文件.htgroup如下

  ptisi : lkch

  存放在 /sur/local/apache/secrets/.htgroup路徑下,其中ptisi是組名,lkch是組中的用戶名。

  2.建立用戶文件:主要用于存放某一組中的用戶名和口令

  htpasswd -c /usr/local/apache/secrets/.htpasswd lkch

  注:htpasswd是Apache提供用于實現認證功能的程序,-c表示產生新的.htpasswd文件,如果存在同名舊文件,則覆蓋舊文件。該程序將詢問口令,鍵入“hello"然后重新確認口令。

  3.在要限制的資源的目錄內編輯 .htaccess文件

  AuthName ″This is a test″

  AuthType Basic

  AuthUserFile /usr/local/apache/secrets/.htpasswd

  AuthGroupFile /usr/local/apache/secrets/.htgroup

  repuire group ptisi

  注:參數require group 指定哪些組的用戶可以訪問認證資源,這樣,當再次訪問需要認證的資源存在的目錄時,系統就會彈出對話框,要求輸入“用戶名/口令"。

  (二)mod—auth—mysql模塊完成身份認證功能,由于Apache + PHP + MySQL已經被許多網站的建設者當作是建設中小型網絡數據庫的黃金組合,因而mod—auth—mysql的功能也就顯得尤其強大。它主要是把允許訪問資源的組名、用戶名、用戶口令以文本文件的方式存放。

1.建立認證用的數據庫

  prompt〉mysqladmin create http—auth

  2.建立認證用的表,并插入一行數據

  prompt〉mysql http—auth

  mysql〉create table mysql—auth (

  -〉sername char(25) NOT NULL,

  -〉passwd char(25),

  -〉groups char(25),

  -〉primary key (usrname)

  -〉);

  mysql〉insert mysql—auth (username,passwd,groups)

  -〉values (″lkch″,PASSWD(″hello″),″ptisi″);

  3.配置Apache

  在http.cont中加入 Auth—MySQL—Info [host] [username][Password]

  其中username和password是MySQL數據庫用戶的用戶名和口令。

  4.創建 .htaccess文件

  AuthName ″This is a test!″

  AuthType Basic

  Auth—MySQL on

  Auth—MySQL—Db http—auth

  Auth—MySQL—Password—Table mysql—auth

  Auth—MySQL—Group—Table mysql—auth

  Auth—MySQL—Username—Field username

  Auth—MySQL—Password—Field passwd

  Auth—MySQL—Group—Field groups

  Auth—MySQL—Encryption—Types Plaintext,Crypt—DES,MySQL

  最后這句話表示認證時口令的形式,分別表示不加密、DES加密方式和MySQL的Password()加密。

  使用這種認證方法的最大優點是PHP提供了大量對MySQL數據庫進行操作的函數,可以方便地進行遠程理。

關鍵字:MySQL、數據庫、Apache

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站