簡體   English   中英

在url.action中傳遞帶隱藏參數的url

[英]Pass url with hidden parameter in url.action

有沒有辦法隱藏參數和傳遞

window.location.href = '@Url.Action("index", "mycntroller")?at='+119nuju

雖然您可以使用POST請求或使用coockies或請求標題或... 以防止參數乍一看 ,但您應該知道隱藏參數永遠不會有助於提高您網站的安全性。 因為可以在諸如Developer ToolsFireBugDeveloper Tools監視所有參數,所以它們完全可見

隱藏參數通常是為了獲得更好的用戶體驗,用戶無法看到對他來說毫無意義的參數。

因此,最好不要在不需要時嘗試隱藏參數。


如果值119nuju對您來說非常重要,請不要以這種方式傳遞,而是考慮加密或在TempData / Session中使用密鑰並傳遞該密鑰而不是該值。 然后,當請求返回到服務器時,通過密鑰檢索值。

重要
如果你使用這種方式(加密,密鑰......),檢查用戶的權限是否仍然非常重要,以查看此用戶是否可以訪問119nuju或任何相關資源,以防止不安全的直接對象引用

一種方法是cookie。 您可以通過使用cookie傳遞參數值來隱藏。

在客戶端設置cookie。

function SetCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}
SetCookie('at','+119nuju',1);

在服務器端獲取cookie值。

HttpContext.Request.Cookies["at"] != null // Check is exist
HttpCookie cookie = HttpContext.Request.Cookies.Get("at"); //Get cookie

您可以隱藏標題中的值。 但需要更多的編碼。這是一個很好的方法。 搜索更多關於在header中傳遞值的信息。它更加安全,因為值在請求頭中而不是在請求體中傳遞。它比加密好得多,因為即使該方法也會在你的url中顯示一些隨機文本。干凈你可以使用這個。

暫無
暫無

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

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