亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
Guides Access control CORS Authentication Browser detection using the user agent Caching Caching FAQ Compression Conditional requests Connection management in HTTP 1.x Content negotiation Content negotiation: List of default Accept values Cookies CSP Messages Overview Protocol upgrade mechanism Proxy servers and tunneling Proxy servers and tunneling: Proxy Auto-Configuration (PAC) file Public Key Pinning Range requests Redirections Resources and specifications Resources and URIs Response codes Server-Side Access Control Session Guides: Basics Basics of HTTP Choosing between www and non-www URLs Data URIs Evolution of HTTP Identifying resources on the Web MIME Types MIME types: Complete list of MIME types CSP Content-Security-Policy Content-Security-Policy-Report-Only CSP: base-uri CSP: block-all-mixed-content CSP: child-src CSP: connect-src CSP: default-src CSP: font-src CSP: form-action CSP: frame-ancestors CSP: frame-src CSP: img-src CSP: manifest-src CSP: media-src CSP: object-src CSP: plugin-types CSP: referrer CSP: report-uri CSP: require-sri-for CSP: sandbox CSP: script-src CSP: style-src CSP: upgrade-insecure-requests CSP: worker-src Headers Accept Accept-Charset Accept-Encoding Accept-Language Accept-Ranges Access-Control-Allow-Credentials Access-Control-Allow-Headers Access-Control-Allow-Methods Access-Control-Allow-Origin Access-Control-Expose-Headers Access-Control-Max-Age Access-Control-Request-Headers Access-Control-Request-Method Age Allow Authorization Cache-Control Connection Content-Disposition Content-Encoding Content-Language Content-Length Content-Location Content-Range Content-Type Cookie Cookie2 Date DNT ETag Expect Expires Forwarded From Headers Host If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Keep-Alive Large-Allocation Last-Modified Location Origin Pragma Proxy-Authenticate Proxy-Authorization Public-Key-Pins Public-Key-Pins-Report-Only Range Referer Referrer-Policy Retry-After Server Set-Cookie Set-Cookie2 SourceMap Strict-Transport-Security TE Tk Trailer Transfer-Encoding Upgrade-Insecure-Requests User-Agent User-Agent: Firefox Vary Via Warning WWW-Authenticate X-Content-Type-Options X-DNS-Prefetch-Control X-Forwarded-For X-Forwarded-Host X-Forwarded-Proto X-Frame-Options X-XSS-Protection Methods CONNECT DELETE GET HEAD Methods OPTIONS PATCH POST PUT Status 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Payload Too Large 414 URI Too Long 415 Unsupported Media Type 416 Range Not Satisfiable 417 Expectation Failed 426 Upgrade Required 428 Precondition Required 429 Too Many Requests 431 Request Header Fields Too Large 451 Unavailable For Legal Reasons 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 511 Network Authentication Required Status
characters

HTTP為訪問控制和身份驗證提供了一個通用框架。最常見的HTTP認(rèn)證方案是“基本”認(rèn)證。本頁面介紹了一般HTTP驗證框架,并展示了如何使用HTTP基本驗證來限制對服務(wù)器的訪問。

一般的HTTP認(rèn)證框架

RFC 7235定義了HTTP認(rèn)證框架,服務(wù)器可以使用該框架挑戰(zhàn)客戶端請求,并由客戶端提供認(rèn)證信息。挑戰(zhàn)和響應(yīng)流程如下所示:服務(wù)器響應(yīng)具有401(未授權(quán))響應(yīng)狀態(tài)的客戶端,并提供有關(guān)如何使用WWW-Authenticate至少包含一個挑戰(zhàn)的響應(yīng)標(biāo)頭進(jìn)行授權(quán)的信息。然后,想要使用服務(wù)器進(jìn)行身份驗證的客戶端可以通過Authorization在憑證中包含請求標(biāo)頭字段來完成此操作。通常,客戶端會向用戶顯示密碼提示,然后發(fā)出包含正確Authorization標(biāo)題的請求。

在如圖所示的“基本”認(rèn)證的情況下,交換必須通過HTTPS(TLS)連接進(jìn)行以確保安全。

代理認(rèn)證

代理驗證可以使用相同的質(zhì)詢和響應(yīng)機(jī)制。在這種情況下,它是需要認(rèn)證的中間代理。由于資源認(rèn)證和代理認(rèn)證可以共存,因此需要一組不同的標(biāo)題和狀態(tài)代碼。對于代理服務(wù)器,具有挑戰(zhàn)性的狀態(tài)代碼是407(需要代理服務(wù)器認(rèn)證),Proxy-Authenticate響應(yīng)標(biāo)頭至少包含一個適用于代理服務(wù)器的挑戰(zhàn),并且Proxy-Authorization請求標(biāo)頭用于向代理服務(wù)器提供憑證。

訪問被禁止

如果(代理)服務(wù)器接收到的有效憑證不足以獲取給定資源的訪問權(quán)限,則服務(wù)器應(yīng)該使用403 Forbidden狀態(tài)代碼進(jìn)行響應(yīng)。不像401 Unauthorized或者407 Proxy Authentication Required,這個用戶不可能進(jìn)行身份驗證。

WWW-Authenticate and Proxy-Authenticate headers

WWW-AuthenticateProxy-Authenticate響應(yīng)標(biāo)頭定義應(yīng)該被用來獲得對資源的訪問的驗證方法。他們需要指定使用哪種認(rèn)證方案,以便希望授權(quán)的客戶端知道如何提供憑證。這些標(biāo)題的語法如下所示:

WWW-Authenticate: <type> realm=<realm>Proxy-Authenticate: <type> realm=<realm>

這里<type>是認(rèn)證方案(“基本”是最常見的方案,下面介紹)。該領(lǐng)域用于描述保護(hù)區(qū)域或指示保護(hù)范圍。這可能是“訪問登臺站點”或類似消息,以便用戶知道他們試圖訪問哪個空間。

AuthorizationProxy-Authorization標(biāo)題

所述AuthorizationProxy-Authorization請求報頭包含憑證與一個(代理)服務(wù)器進(jìn)行認(rèn)證的用戶代理。在此,需要再次輸入憑證,憑證可以根據(jù)使用的認(rèn)證方案進(jìn)行編碼或加密。

Authorization: <type> <credentials>Proxy-Authorization: <type> <credentials>

認(rèn)證方案

一般的HTTP認(rèn)證框架被多個認(rèn)證方案使用。方案可以在安全強(qiáng)度和客戶端或服務(wù)器軟件的可用性方面有所不同。

最常見的認(rèn)證方案是下面更詳細(xì)介紹的“基本”認(rèn)證方案。IANA維護(hù)認(rèn)證方案列表,但還有其他由主機(jī)服務(wù)提供的方案,例如Amazon AWS。常見的認(rèn)證方案包括:

  • 基本(請參閱RFC 7617,base64編碼憑證,請參閱下面的更多信息。),

  • 承載(請參閱RFC 6750,承載令牌訪問受OAuth 2.0保護(hù)的資源),

  • 摘要(請參閱RFC 7616,F(xiàn)irefox中只支持md5散列,請參閱SHA加密支持的bug 472823),

  • HOBA(參見RFC 7486(草案),? TTP ? rigin- ound uthentication,數(shù)字簽名系),

  • 相互(見draft-ietf-httpauth-mutual),

  • AWS4-HMAC-SHA256(請參閱AWS文檔)。

基本認(rèn)證方案

“基本”HTTP身份驗證方案在RFC 7617中定義,該身份驗證方案將憑據(jù)作為用戶ID /密碼對發(fā)送,并使用base64進(jìn)行編碼。

基本認(rèn)證的安全性

由于用戶標(biāo)識和密碼以明文形式傳遞(它是base64編碼,但base64是可逆編碼),因此基本認(rèn)證方案不安全。HTTPS / TLS應(yīng)與基本認(rèn)證一起使用。如果沒有這些額外的安全增強(qiáng)功能,則不應(yīng)使用基本身份驗證來保護(hù)敏感或有價值的信息。

使用Apache和基本身份驗證限制訪問

要在Apache服務(wù)器上密碼保護(hù)目錄,您需要一個.htaccess和一個.htpasswd文件。

.htaccess文件通常如下所示:

AuthType Basic
AuthName "Access to the staging site"AuthUserFile /path/to/.htpasswd
Require valid-user

.htaccess文件引用一個.htpasswd文件,其中每行包含由冒號(“:”)分隔的用戶名和密碼。您看不到加密的實際密碼(本例中為md5)。請注意,.htpasswd如果您喜歡,您可以以不同的方式命名文件,但請記住,任何人都無法訪問此文件。(Apache通常配置為阻止訪問.ht*文件)。

aladdin:$apr1$ZjTqBB3f$IF9gdYAGlMrs2fuINjHsz.user2:$apr1$O04r.y2H$/vEkesPhVInBByJUkXitA/

使用nginx和基本身份驗證來限制訪問

對于nginx,你將需要指定一個你將要保護(hù)的位置,以及auth_basic為密碼保護(hù)區(qū)域提供名稱的指令。auth_basic_user_file然后該指令指向包含加密用戶憑證的.htpasswd文件,就像上面的Apache示例一樣。

location /status {                                       
    auth_basic           "Access to the staging site";
    auth_basic_user_file /etc/apache2/.htpasswd;}

使用URL中的憑據(jù)進(jìn)行訪問

許多客戶端還可以通過使用包含用戶名和密碼的編碼URL避免登錄提示:

https://username:password@www.example.com/

這些URL的使用已被棄用。在Chrome中,出于安全原因username:password@,URL中的部分甚至被刪除。在Firefox中,檢查網(wǎng)站是否實際需要身份驗證,如果不是,F(xiàn)irefox會提示用戶提示“您將用用戶名”username“登錄到網(wǎng)站”www.example.com“,但是網(wǎng)站不需要認(rèn)證,這可能是企圖誘騙你。“

擴(kuò)展內(nèi)容

  • WWW-Authenticate

  • Authorization

  • Proxy-Authorization

  • Proxy-Authenticate

  • 401, 403, 407

Previous article: Next article: