2010年12月18日土曜日

session.use_trans_sidがOnだと、別ドメインへのformでもhiddenにセッション 情報を埋め込んでしまう

session.use_trans_sidをOnにしているサイトで、formのaction先が別ドメインのサイトなのにも関わらず、hiddenにセッションIDを付加してしまう、という問題に遭遇しました。

session.use_trans_sidは外部ドメインへのformタグにも無差別に付加する

けっこう面倒な問題。セキュリティ的にもかなりマズイです。

上記のページではurl_rewriter.tagsを使った解決策をとっていますが、今回はjqueryのremove()でhiddenタグを削除するという方法を考えてみました。

$('#form1 input:hidden[name=session_name]').remove();

当然携帯サイトなどでは使えませんが、javascriptがOffだと送信できないフォームなので、この方法を使ってみました。

0 件のコメント:

コメントを投稿