そもそもこのヘッダ、なんでついてるのかもよく確認せず使ってましたが、jQueryがつけてくれてるだけなんですね。
で、自分の作ってたサイトで、http -> httpsでAjaxを使いたいのでAccess-Control-Allow-Originを使って通信したところ、X-Requested-Withがついてこないもので、これを見ていた自前のサーバーサイド検査 request.isXmlHTTP()が引っかかってしまった。
ただ、そもそもサーバーサイドの処理がjQueryに依存しているというのはおかしな感じがしていやだし、他にも微妙な問題がありそうなんで、Ajaxかどうか?の検査にはこのヘッダーを見るのではない代案を考えようと思う。
どうせ偽装可能なヘッダ情報なんだから、Refererとかでもいいのか・・・それとも、そもそもこんな検査にこだわらない(セキュリティの一助になればという思いだったが、もっと別の手を考える)方がいいのか・・・。
0 件のコメント:
コメントを投稿