我希望這個行動僅適用於XHR對象請求時的性能。正如我試圖它來實現: 在控制器有一個動作:忽略非阿賈克斯行動請求
public string Act()
{
string view="";
if(Request.Headers["p"]!="p")
Response.Redirect("/",true);
else
view = GetActView();
return view;
}
它是由一個事件的的onclick的手段導致功能連接,其中:
function updateDiv() {
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById('actdiv').innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open('GET', '/Act', true);
xmlhttp.setRequestHeader("p", "p");
xmlhttp.send();
}
但是除了來自這個功能的要求我可以針對行動,收集在瀏覽器網站的一個地址欄中。這是我的網站不可接受的行爲。如何正確防止用戶的這種行爲?
你不能可靠地做到這一點。更好的選擇是設計應用程序,以便通過地址欄訪問操作即可。 –
在這種情況下如何做SPA? –
@JohnStiks我們使用多種方法來實現安全功能。一個是在我的回答中,第二個是使用'AntiForgeryToken' –