亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python使用htpasswd實現基本認證授權的例子

2020-02-23 05:26:59
字體:
來源:轉載
供稿:網友

前面我講解了如何將樹莓派(Raspberry Pi)打造成無線路由,感覺每次通過命令ssh管理顯麻煩,于是自己動手編寫Web界面,主要是使用Python編寫的CGI程序,這里用到了mini_httpd這款輕量的Web服務器,本來想裝nginx的,但是想想還是精簡一些吧,畢竟資源有限,況且Web管理界面僅我一個人訪問。

CGI應用跑起來了,但問題來了,如何實現普通路由的那種打開頁面就彈出輸入用戶名密碼的對話框?

這里主要用到HTTP協議的一個知識,那就是HTTP基本認證。

服務器端通過發送類似下面的頭信息來實現需要認證請求:
代碼如下:
HTTP/1.0 401 Authorization Required
WWW-Authenticate: Basic realm="Secure Area"
Content-Type: text/html
針對上述要求,于是我在CGI中采用了如下的Python代碼:
代碼如下:
def check_login():
    import base64

    if "Authorization" in os.environ:
    try:
        cred = base64.b64decode(os.environ['Authorization'].split(' ')[1])
        username, password = cred.split(":")
        if db_validate_user(username, password): # 這里匹配數據庫用戶名密碼
        return True
    except:
        pass

    print 'Status: 401 Unauthorized'
    print 'Pragma: no-cache'
    print 'Content-Type: text/html'
    print 'WWW-Authenticate: Basic realm=/"My Wireless Router/"'
    print
    print """
    <html>
    <head>
        <title>Not authenticated</title>
    </head>
    <body>
    <h1>Not authenticated.</h1>
    </body>
    </html>"""
    return False

# 調用
if not check_login():
    sys.exit(0)
但是實際操作下來后發現mini_httpd并不轉發來自用戶的Authorization的用戶名和密碼,也就是說os.environ取不到這個頭信息,從而導致認證失敗。

經過網上搜索后得知mini_httpd原生支持通過.htpasswd實現簡單認證的技術,也就是說我們可以在需要授權訪問的目錄下建立.htpasswd文件實現,當然這個文件是有格式要求的,我們可以通過htpasswd命令來創建。這個命令一般Apache服務器軟件會自帶,不過mini_httpd也自帶了,所以你可以直接使用這個命令。
代碼如下:
#        建立文件名 賬戶名 密碼
htpasswd -bc .htpasswd admin 123456

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久电影| 55夜色66夜色国产精品视频| 国产精品中文在线| 国产精品老女人视频| 久久夜色精品国产欧美乱| 日韩久久精品成人| 久久久久久久久网站| 国内免费久久久久久久久久久| 欧美精品在线第一页| 最近2019中文字幕一页二页| 国产啪精品视频网站| 国产日韩欧美91| 久久综合88中文色鬼| 91精品国产自产在线老师啪| 亚洲bt欧美bt日本bt| 欧美激情乱人伦一区| 亚洲美腿欧美激情另类| 日韩网站在线观看| 成人av在线天堂| 亚洲影院在线看| 97免费中文视频在线观看| 97超级碰碰碰久久久| 欧美一区二区三区艳史| 亚洲欧美激情在线视频| 欧美二区在线播放| 色先锋久久影院av| 国产精品精品久久久久久| 精品国产31久久久久久| 日本欧美中文字幕| 日韩精品免费观看| 亚洲精品suv精品一区二区| 欧美专区日韩视频| 主播福利视频一区| 亚洲精品97久久| 伊人久久久久久久久久久| 日本电影亚洲天堂| 欧美午夜久久久| 日韩不卡中文字幕| 国产精品一区二区久久| 亚洲人成电影在线播放| 国产精品一区二区性色av| 九九热这里只有精品免费看| 国产在线一区二区三区| 欧美成人在线网站| 久久久久亚洲精品国产| 日韩成人激情视频| 国产不卡一区二区在线播放| 久久精品福利视频| 日韩在线免费视频观看| 亚洲日韩中文字幕| 91精品国产91久久久久久久久| 亚洲国产成人精品女人久久久| 日韩国产精品视频| 欧美成人午夜激情| 久久国内精品一国内精品| 亚洲精品影视在线观看| 国产成人短视频| 91精品国产综合久久香蕉的用户体验| 国产美女精彩久久| 亚洲老板91色精品久久| 国产一区二区三区日韩欧美| 在线视频中文亚洲| 欧美极品美女视频网站在线观看免费| 精品国产乱码久久久久久婷婷| 国产精品专区h在线观看| 亚洲色图综合久久| 亚洲女人天堂av| 亚洲人永久免费| 日韩精品亚洲元码| 亚洲激情视频网| 国产精品成人一区| 亚洲一级黄色片| 亚洲精品99999| 欧美日韩国产精品一区二区不卡中文| zzjj国产精品一区二区| 国产精品一区二区三区久久久| 成人在线激情视频| 国产美女精品免费电影| 亚洲欧美另类中文字幕| 欧美午夜视频在线观看| 国产精品久久久久久久久久三级| 亚洲国产精品高清久久久| 5252色成人免费视频| 日韩美女在线看| 久久久免费精品视频| 欧美成人午夜激情| 精品久久中文字幕| 在线观看精品自拍私拍| 一本色道久久88综合日韩精品| 亚洲精品按摩视频| 国产久一一精品| 最近更新的2019中文字幕| 欧美视频在线视频| 亚洲欧美国产va在线影院| 久久青草福利网站| 午夜精品久久久久久99热| 国产精品久久久久久久久粉嫩av| 欧美午夜精品伦理| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美一乱一性一交一视频| 亚洲欧洲国产一区| 亚洲色图15p| 精品亚洲va在线va天堂资源站| 欧洲成人午夜免费大片| 伊人激情综合网| 国产有码一区二区| 综合久久五月天| 琪琪第一精品导航| 国产精品日韩一区| 中文字幕亚洲在线| 国产精品亚发布| 久久久999国产| 国产亚洲精品久久久优势| 中国china体内裑精亚洲片| 国产精品成av人在线视午夜片| 中文字幕精品一区久久久久| 国产精品亚洲综合天堂夜夜| 精品久久香蕉国产线看观看gif| 亚洲跨种族黑人xxx| 欧美性jizz18性欧美| 欧美激情精品在线| 国产亚洲精品91在线| 91精品国产成人www| 丁香五六月婷婷久久激情| 久久色在线播放| 亚洲国产精久久久久久| 亚洲精品成人久久久| 亚洲精品99久久久久中文字幕| 色黄久久久久久| 成人午夜黄色影院| 精品无码久久久久久国产| 亚洲欧美制服丝袜| 91午夜理伦私人影院| 欧美午夜激情在线| 亚洲欧美综合另类中字| 国内精品中文字幕| 精品亚洲永久免费精品| 成人免费高清完整版在线观看| 国产精品日韩在线| 91性高湖久久久久久久久_久久99| 久色乳综合思思在线视频| 欧美理论电影网| 欧美性猛交xxx| 亚洲第一国产精品| 国产精品女人久久久久久| 日韩在线观看免费网站| 日韩国产欧美精品在线| 欧美理论电影网| 国内精品久久久久久影视8| 欧美精品成人91久久久久久久| 欧美激情综合亚洲一二区| 色综合色综合久久综合频道88| 高清欧美一区二区三区| 国产啪精品视频网站| 国产亚洲美女精品久久久| 中文字幕日韩综合av| 久久久久久久久久久国产| 韩曰欧美视频免费观看| 久久久久久亚洲| 国产精品流白浆视频| 国内伊人久久久久久网站视频| 久久久久五月天| 国产精品久久久久9999| 91在线视频九色|