我怎樣才能實現從客戶端到服務器的登錄表單安全傳輸在PHP? 我的意思是編碼的密碼和用戶,除了使用https的東西。登錄表單和服務器之間的安全傳輸在PHP
回答
HTTP Digest authentication可以不需要SSL的工作。
但它有和其他HTTP認證相同的問題。例如。有沒有註銷功能,你無法控制的登錄界面的外觀&感覺,登錄憑據,您的應用程序特定的用戶帳戶數據之間沒有集成等
我@Charles同意 - 只使用HTTPS在發送敏感數據時。
回覆您的評論:
在你的login.php腳本開始,檢查是否請求是HTTPS如果沒有的話重定向到正確的URL。
if (!isset($_SERVER["HTTPS"])) {
header("Location: https://mydomain.com/login.php");
}
另外,您可以使用Apache重寫規則:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(login.php) https://%{SERVER_NAME}/$1 [L,R]
另外,請記住,你不在乎,如果客戶端讀的頁面與普通HTTP登錄表單。如果客戶端提交表單不安全,您會在乎,因爲這是包含用戶密碼的請求。因此,如果login.php是處理登錄表單的腳本,則適用上述建議。
使用HTTPS。
...除了使用https之外的東西。
呃,嗯。
你爲什麼要避免SSL?這真的是做你想做的最簡單,直接的方法。
因爲我不希望整個我的網站使用https,並且如果我只使用https和其他頁面使用http的1個頁面,那麼https頁面也將使用http訪問。我需要客戶端的md5數據。 – 2010-07-26 05:21:53
他說**除了使用https以外。** – Sarfraz 2010-07-26 05:27:44
@hd我不明白你的理由。爲什麼你不能只通過HTTPS訪問一個頁面? – 2010-07-26 05:38:33
您可以在發送到服務器之前使用一些salt值在客戶端加密(MD5/SHA等)您的密碼。然而,這當然不是最好的方法。這比發送純文本更好。選擇https。
- 1. Web服務器和數據庫服務器之間的安全數據傳輸
- 2. C#客戶端和PHP服務器之間的安全通信
- 3. 通過PHP保持登錄憑據服務器端(安全和安全)
- 4. 安全表單登錄
- 5. Windows安全登錄表單?
- 6. https用於as3和php之間的安全數據傳輸
- 7. JavaScript和PHP中的Web服務之間的安全通信
- 8. 安全登錄php
- 9. Facebook登錄JS SDK和PHP SDK。在表單中傳遞access_token安全嗎?
- 10. PHP不同的服務器和安全
- 11. 在兩臺PHP服務器之間傳輸文件
- 12. 簡單安全的登錄php/javascript
- 13. 在單獨的php web應用程序之間自動登錄。安全問題?
- 14. 登錄到PHP服務器
- 15. SQLite和MySQL之間的區別 - 登錄和安全
- 16. c#客戶端和java服務器之間的安全通信
- 17. 客戶端和服務器之間的安全連接
- 18. Oracle客戶端和Oracle服務器之間的安全連接
- 19. Chrome擴展和服務器之間的安全通信
- 20. PHP - 安全的MySQL登錄
- 21. 服務器之間傳輸文件,無需下載和上傳
- 22. 在iOS之間安全地傳輸數據 - > php - > mySQL
- 23. 本地服務器和AWS服務器之間的數據傳輸
- 24. 在服務器的PHP安全模式
- 25. iphone登錄表單的安全問題
- 26. 安全的數據傳輸從SQL服務器到SQL服務器在Internet上
- 27. 在rails服務器和php服務器之間共享會話
- 28. 發送登錄憑證在HTTP報頭到安全服務器
- 29. 客戶端和服務器之間的傳輸對象集合
- 30. iPhone應用程序和服務器之間的圖像傳輸
好的,考慮我的登錄頁面地址是: https://mydomain.com/login.php 但是我可以限制將此頁面調用https並且如果用戶鍵入: http://mydomain.com/login。 php 無法訪問登錄頁面? – 2010-07-26 05:52:16
摘要機制也可以手動實現。 – 2010-07-26 05:58:25
非常感謝,它似乎完整。 – 2010-07-26 06:19:54