コードビハインドで iframe の src を次のように設定しています。
iframe.Attributes.Add("src", string.Format("/page.aspx?a={0}&b={1}", aVal, bVal);
まれに、page.aspx で次のことが当てはまることに気付きました。
Request.QueryString["b"] == null
リクエスト データの一部をログに記録し始めました。このページが毎日アクセスされる数千回のうち、データは通常次のようになります。
Request.Url: http://www.mydomain.com/page.aspx?a=1&b=2
Request.Referrer: http://www.mydomain.com/referrer/
Request.Querystring: a=1&b=2
1 日に約 6 回、データは次のようになります。
Request.Url: http://www.mydomain.com/page.aspx?a=1&b=2
Request.Referrer: http://www.mydomain.com/referrer/
Request.QueryString: a=1&%3bb=2
URL エンコードされたセミコロン %3b がクエリ文字列に含まれていることを除いて、すべてがまったく同じであることがわかります。リファラー URL は、page.aspx が正しくアクセスされており、ユーザーがブラウザーに手動で入力していないことを示しています。このページも安全なメンバー専用エリアにあり、これがランダムなコンテンツのランダムなユーザーに発生していることを確認しました. これを再現できません。Request.Url 値に移動すると、%3b はクエリ文字列に表示されません。また、Request.Referrer 値に移動して、顧客と同じ方法でコンテンツにアクセスしても、%3b は表示されません。クエリ文字列。Request.Referrer 値は、page.aspx を読み込む唯一のページです。
%3b がクエリ文字列に入る可能性がある方法はありますか?