2015年2月5日木曜日

クロスドメインのAjaxだとX-Requested-Withてついてくれないんですか?

そもそもこのヘッダ、なんでついてるのかもよく確認せず使ってましたが、jQueryがつけてくれてるだけなんですね。

で、自分の作ってたサイトで、http -> httpsでAjaxを使いたいのでAccess-Control-Allow-Originを使って通信したところ、X-Requested-Withがついてこないもので、これを見ていた自前のサーバーサイド検査 request.isXmlHTTP()が引っかかってしまった。

ただ、そもそもサーバーサイドの処理がjQueryに依存しているというのはおかしな感じがしていやだし、他にも微妙な問題がありそうなんで、Ajaxかどうか?の検査にはこのヘッダーを見るのではない代案を考えようと思う。

どうせ偽装可能なヘッダ情報なんだから、Refererとかでもいいのか・・・それとも、そもそもこんな検査にこだわらない(セキュリティの一助になればという思いだったが、もっと別の手を考える)方がいいのか・・・。

0 件のコメント:

コメントを投稿