2013-12-11 70 views
2

我正在創建一個google chrome extension,它的工作原理和看起來好像它是我的網站的擴展。Javascript去加密參數的網址

當你第一次打開我的擴展你將不得不登錄。當您輸入您的用戶名和密碼時,ajax請求會發送到我的服務器。如果用戶名和密碼的結果是真實的我encrypt的密碼並將其存放在extensteion

現在,這裏是它得到棘手:

如果用戶進入我的網站,它應該全自動記錄他/她 我以爲我會在我的擴展進行檢查,如果網站是我的,它會重定向到郊區併發送加密的密碼/用戶名,然後我的網站會自動登錄用戶

一個示例的加密密碼如下所示:ZNVwb7ukhJfhBmdbo4SkPMjG6U8a0GKQB+/mPhQtRVw=

因爲/我想將其作爲發佈請求發送。

你們知道我該怎麼做到這一點嗎?

+0

那真正的問題是什麼?如何做一個XHR POST? – Barney

+0

@Barney是的,我如何發送它,它是做到這一點的正確方法?或者使用編碼的加密密碼更好地獲取請求? –

回答

3

不評論你使用的加密,聽起來你想避免一個GET請求,因爲該URL包含/字符?

你可以通過GET發送這個,你應該簡單地將URL encode的值。

只能使用ASCII字符集通過Internet發送URL。

由於URL通常包含ASCII集外的字符,因此URL必須轉換爲有效的ASCII格式。

網址編碼會將不安全的ASCII字符替換爲後跟兩個十六進制數字的「%」。 網址不能包含空格。 URL編碼通常會用加號(+)或%20替換空格。

所以如果你想發送一個正斜槓作爲查詢字符串參數而不是路徑分隔符,你應該將它編碼爲%2F。最好使用標準庫來傳遞整個字符串,而不是將自己的字符串編碼爲斜槓。

0

我會建議,而不是試圖存儲加密的密碼,並可能屈服於未來的安全問題,您使用的是令牌。所以這個過程將是:

  • 用戶運行你的擴展
  • 擴展將用戶的登錄信息發送到遠程服務器(通過HTTPS),並且取回令牌
  • 令牌用於所有進一步請求

爲此,您需要遠程服務器上的會話表,它可以解釋每個請求中的令牌以找到發出請求的用戶。最佳做法是規定最終令牌應該變爲不活動狀態,需要用戶再次登錄。這個時間通常會在1-24小時的範圍內。