我有一個用戶名和密碼的登錄表單。它可以工作,但在請求後,我在Web瀏覽器上看到類似「... login?user = myUser & password = myPassword」。是否可以隱藏地址欄中的密碼字段?
鑑於表單有一個密碼字段,可以在輸入密碼時隱藏密碼,所以在地址欄上看到密碼並不會很有趣。
可以避免這種情況嗎?
用戶驗證是在服務器上使用自定義Java Web服務器完成的。
我有一個用戶名和密碼的登錄表單。它可以工作,但在請求後,我在Web瀏覽器上看到類似「... login?user = myUser & password = myPassword」。是否可以隱藏地址欄中的密碼字段?
鑑於表單有一個密碼字段,可以在輸入密碼時隱藏密碼,所以在地址欄上看到密碼並不會很有趣。
可以避免這種情況嗎?
用戶驗證是在服務器上使用自定義Java Web服務器完成的。
這樣做的唯一方法是不使用表單提交的GET
方法。您需要使用POST
方法。更多信息可以在這裏http://www.cs.tut.fi/~jkorpela/forms/methods.html
發現你的表格看起來就像這樣
<form method="post" action="somepage.php">
</form>
您可以編碼密碼,這會掩蓋它。
但是,使用POST表單將隱藏其所有字段。
是的,使用POST請求而不是GET。
轉換表單使用HTTP「POST」方法,而不是「GET」,例如:
<form action="/login" method="post">
還要考慮模糊密碼在傳輸數據之前,例如使用諸如Base64或MD5的方案。
將表單上的'method'屬性從「get」更改爲「post」 - 並通過HTTPS發送請求,最好。
您的表單正在使用GET NOT POST。通過URL(GET)中的查詢字符串傳遞變量可能很危險,因爲用戶可以查看和修改這些值。將表單的方法更改爲POST。在標準的HTML,這將是這樣的:
<form method="GET" action="......
...到...
<form method="POST" action=".....
當你看到一個「登錄?用戶= MYUSER &密碼= MYPASSWORD」在地址欄中這意味着你的登錄表單使用GET請求方法:
<form id="login" action="some_file" method="get">
隱藏這些信息的最簡單的方法是從GET更改爲POST方法:
<form id="login" action="some_file" method="post">
您可以瞭解更多有關這兩種方法在這裏:
然而請注意,POST比GET更安全。你可以閱讀更多關於此這裏:
不知道你用你如何交互的HTTP消息什麼框架,我們只能指定一個通用的答案。 –
我正在使用自定義的Web服務器,所以沒有標準框架。我攔截HTTP請求並採取相應措施。 – michelemarcon