0
我在安全的ASP.NET網站上有一個Web服務REST API,需要登錄才能工作。以編程方式請求用戶名/密碼的最安全方式是什麼? (剛加入?username=me&password=mysecret
到URL似乎並不那麼安全,我(儘管這是一個HTTPS連接)保護REST API的用戶/密碼
我在安全的ASP.NET網站上有一個Web服務REST API,需要登錄才能工作。以編程方式請求用戶名/密碼的最安全方式是什麼? (剛加入?username=me&password=mysecret
到URL似乎並不那麼安全,我(儘管這是一個HTTPS連接)保護REST API的用戶/密碼
有幾種方法可以實現你所需要的:
的HTTP授權標頭:
如果使用HTTP 小號連接,則可以使用該方法Basic Access Authentication。
授權頭構造如下:
然後將授權方法和空間即「基本」放在編碼的字符串之前。
例如,如果用戶代理使用「阿拉丁」作爲用戶名和「芝麻開門」作爲密碼,然後報頭被形成爲如下:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
如果使用HTTP連接,那麼你應該使用Digest Access Authentication方法。由於HTTPS連接更復雜且無用,因此如果您願意,我可以讓您詳細瞭解它(可能還有here)。
我想強烈反對你的介紹性條款「理論上這種做法沒有錯」。將憑證放入URL中是完全錯誤的,即使在理論上也是如此 - 這與您陳述的原因完全相同。即使您使用SSL/TLS進行加密,也只會影響HTTP請求的內容。該URL始終以明文形式發送。因此,方案一不僅僅是利用潛在的風險,而是錯誤的。 – user2690527