[英]Pass url with hidden parameter in url.action
有沒有辦法隱藏參數和傳遞
window.location.href = '@Url.Action("index", "mycntroller")?at='+119nuju
雖然您可以使用POST
請求或使用coockies
或請求標題或... 以防止參數乍一看 ,但您應該知道隱藏參數永遠不會有助於提高您網站的安全性。 因為可以在諸如Developer Tools
, FireBug
等Developer Tools
監視所有參數,所以它們完全可見 。
隱藏參數通常是為了獲得更好的用戶體驗,用戶無法看到對他來說毫無意義的參數。
因此,最好不要在不需要時嘗試隱藏參數。
如果值119nuju
對您來說非常重要,請不要以這種方式傳遞,而是考慮加密或在TempData / Session中使用密鑰並傳遞該密鑰而不是該值。 然后,當請求返回到服務器時,通過密鑰檢索值。
重要
如果你使用這種方式(加密,密鑰......),檢查用戶的權限是否仍然非常重要,以查看此用戶是否可以訪問119nuju
或任何相關資源,以防止不安全的直接對象引用
一種方法是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);
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.