重複の可能性:
JavaScript でクエリ文字列値を取得する
カレンダーの Web ページがあります。ユーザーがイベントを開くと、「http://localhost/Event.aspx?eventid=4 」のような URL のページが開きます。" 次に、jQuery を使用してページ メソッドを呼び出し、追加のデータを表示します。$.ajax 関数を介して送信するデータ パラメータには、"eventID" (正しいイベントのデータを表示するため) も含まれます。ユーザーが手動で行う場合 (たとえば、 firebug コンソールを介して) 偽の「eventID」を使用してページ メソッドへの jQuery 呼び出しを実行すると、彼は偽のデータを取得します.私はそれを防ぎたいです... jQuery データ パラメーターで eventid を送信しない方法で、サーバー上で何らかの方法で eventid を取得します-side codebehind 問題は、セッションを使用できないことです (ユーザーが複数のイベントを開くことができ、それぞれに独自の eventID があるため)、Cookie も使用できないため、それらもハッキングされる可能性があります。を使用して、ページメソッド内で直接正しいeventidを取得しようとしていました
HttpContext.Current.Request.QueryString
しかし運がない。Page_Load で、次のようにイベント ID を取得します。
EventID = Page.Request.QueryString("eventid")
しかし、この eventid 値をページ メソッドに取得する方法が見つかりません。
そこで、Page_Load で定義された url または public 変数からページ メソッドのパラメーター値を取得する方法についてアドバイスを求めています。
ありがとう。
編集:現在、POSTを使用して次のようなパラメーターを送信しています:
var myEventId = $("#hiddenField").val();
$.ajax({
url: "Event.aspx/getEventData",
type: "POST",
data: "{'eventid':myEventId}"
...
});
しかし、ハッキングを防ぐために、POST で eventid パラメータを送信することは避けたいと思います。