私はdefault.aspを持っていて、ajaxを介して3つの異なる*.aspと接続します。私の質問は、人々がこれらのページをURLとして開こうとした場合、default.aspにアクセスせずにこれらの*.aspページを実行しようとするかどうかです。http://sample.com/ajax1.asp?get=fooは、私のajaxページへのそのようなアクセスを防ぐ方法の例です。
質問する
459 次
2 に答える
1
HTTP_X-Requested-With
呼び出しがヘッダーを探しているAJAX要求であるかどうかを検出できますが、AJAX呼び出しを検出できたとしても、悪意のあるユーザーがすべてのヘッダーを簡単にスプーフィングする可能性があるため、すべての要求を認証する必要があります。
AJAXヘッダーの検出:
If Request.ServerVariables("HTTP_X-Requested-With") = "XMLHttpRequest" Then
''do stuff
Else
于 2012-05-22T22:12:35.167 に答える
0
解決策は、ajaxリクエストに太字の線を追加することです。
function callit()
{
if(window.XMLHttpRequest){xmlhttp=new XMLHttpRequest();}else{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4&&xmlhttp.status==200){document.getElementById('alp').innerHTML=xmlhttp.responseText;}}
xmlhttp.open("get", "call.asp", true);
**xmlhttp.setRequestHeader("X-Requested-With","XMLHttpRequest");**
xmlhttp.send();
}
于 2012-05-23T23:06:43.360 に答える