簡體   English   中英

在通過GET發送信息之前,我該如何加密Md5文本輸入?

[英]how do i encrypt Md5 text input before sending information via GET?

我有一個小的登錄表單,我將通過GET發送名稱和密碼,但是我不想將密碼放在純文本的url中。 我可以在按下“提交”按鈕之后但通過GET發送它之前,將其設置為Md5嗎?

您不應將md5用於哈希密碼。

如果您想學習安全地對用戶密碼進行哈希加密,那么請充分閱讀如何在PHP中使用bcrypt哈希密碼? 安全的哈希和鹽為PHP密碼

我將通過GET發送名稱和密碼

切勿使用GET進行登錄,是的,它顯示在url中,但它也在服務器請求日志中顯示GET參數。

我只想對用戶計算機周圍的人隱藏字符。

使用表單輸入類型type="password"將解決該問題。 但是,還有中間人攻擊的問題,攻擊者可以將自身注入到數據包路由機制中,進行捕獲和記錄,然后在躍點之間重新路由每個數據包,從而捕獲POST,GET等參數。 因此,如果您認真考慮保護用戶/站點免遭黑客入侵,則至少應使用SSL加密A點和B點之間的連接數據包。

但是要在這里回答您的問題是o_O,您需要在發布POST之前使用javascript處理該表單,但是如果關閉javascript,則顯然無法使用:

<?php echo '<pre>'.print_r($_POST,true).'</pre>';?>
<script type="text/javascript"
    src="http://github.com/kvz/phpjs/raw/master/functions/xml/utf8_encode.js"></script>
<script type="text/javascript"
    src="http://github.com/kvz/phpjs/raw/master/functions/strings/md5.js"></script>

<script type="text/javascript">
<!--
function pwd_handler(form)
{
        if (form.password.value != '')
        {
            form.md5password.value = md5(form.password.value);
            form.password.value = '';
        }
}
//-->
</script>

<form action="" method="post" onsubmit="pwd_handler(this);">
    <input type="text" name="username" />
    <input type="password" name="password" />
    <input type="hidden" name="md5password" value="" />
    <input type="submit" value="Log in" />
</form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM