• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    基于PHP的用戶認證

    發布: 2007-9-07 19:19 | 作者: admin | 來源: eNet論壇 | 查看: 19次 | 進入軟件測試論壇討論

    領測軟件測試網   在PHP中,如果希望在每一段腳本上都進行口令保護,可以結合使用header()語句、$PHP_AUTH_USER和$PHP_AUTH_PW來建立基本的認證方案,一般情況下,基于服務器的提問和響應順序如下:

      1.用戶從服務器上請求一個文件,如果這個文件在服務器上是被保護的,則在響應的頭部向用戶返回一個401(示用戶應授權)字符串;

      2.瀏覽器收到這個響應后,彈出要求用戶輸入用戶名/口令的對話框;

      3.用戶在對話框中輸入一個用戶名和口令,點擊OK按鈕將信息返回服務器供認證使用;

      4.如果用戶名和口令有效,被保護的文件將向用戶開放,只要用戶還在使用文件,認證會一直有效。

        一段簡單的PHP腳本文件通過向用戶發送一個適當的能夠引起自動顯示用戶名/口令對話框的HTTP頭部就可以模仿HTTP的提問/響應系統,PHP把用戶在用戶名/口令對話框中輸入的信息存儲在$PHP_AUTH_USER和$PHP_AUTH_PW中,使用這二個變量,就可以與存儲在文本文件、數據庫等文件中的用戶名/口令進行比較。

      這個例子中,筆者采用了兩個常量值進行認證,其實無論用戶名和口令是常量還是變量,其原理都是相同的。  

      〈?

      / 檢查$PHP_AUTH_USER和$PHP_AUTH_PW中的值/

      if ((!isset($PHP_AUTH_USER))    (!isset($PHP_AUTH_PW))) {

      / 如果沒有值,則發送一個能夠引發對話框出現的頭部/

       header('WWW-Authenticate: Basic realm="My Private Stuff"');

      header('HTTP/1.0 401 Unauthorized');

      echo 'Authorization Required.';

      exit;

      } else if ((isset($PHP_AUTH_USER)) amp;amp;amp;amp; (isset($PHP_AUTH_PW))){

      / 變量中有值,檢查它們是否正確/

      if (($PHP_AUTH_USER != "validname")    ($PHP_AUTH_PW != "goodpassword")) {

      / 如果輸入的用戶名和口令中有一個不正確,則發送一個能夠引發對話框出現的頭部 /

       header('WWW-Authenticate: Basic realm="My Private Stuff"');

      header('HTTP/1.0 401 Unauthorized');

      echo 'Authorization Required.';

      exit;

        } else if (($PHP_AUTH_USER == "validname")    ($PHP_AUTH_PW == "goodpassword")) {

      / 如果二個值都正確,顯示成功的信息 /

      echo "〈P〉You're authorized!〈/p〉";

      }

      }

      ?〉

      需要注意的是,如果你使用的是基于文件的保護機制,它并不能保證目錄中所有文件的安全。它可能保護大部分的文件,如果你認為它能夠保護給定目錄中的所有文件,你的這種認識就需要變變了。


    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    軟件測試論壇

    軟件測試技術相關文章

    軟件測試技術文章排行榜
    軟件測試技術分類最新內容
    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>