メイン 一般的な話題(General)
携帯のblackhole 対策 | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| roy | 投稿日時: 2009-5-9 13:15 |
Baker スタート ![]() ![]() 登録日: 2009-1-3 居住地: 名古屋 投稿: 15 |
携帯のblackhole 対策 お世話になります。
ROYと申します。 携帯サイトで、セキュリティーコンポーネントを使い tokenを出力しCSRFの 対策にしたいと思っているのですが、PCの場合と、携帯の場合で違う挙動をし 困っています。 入力フォームで「送信」ボタンをクリックすると PCを使った場合は、blackholeに落ちることはないのですが、 携帯を使った場合は、blackholeに落ちてしまいます。 テストした携帯は、au ソフトバンクのエミュレータを使用してみました。 どちらもNGでした。 ドコモのテストはまだしていません。 何か情報がございましたらご指導お願いします。 |
| crays | 投稿日時: 2009-5-11 10:16 |
Baker スタート ![]() ![]() 登録日: 2008-5-7 居住地: 大阪 投稿: 20 |
Re: 携帯のblackhole 対策 携帯は(一部の端末を除いて)クッキーを使えませんので、セッションIDが取得できない=セッション情報が取得できない=セッションに登録したはずのトークン値が取得できない となっているのではないでしょうか?
PHPはphp.ini上の「session.use_trans_sid」が1であれば、クッキーを使用できないブラウザ(端末)の場合は自動でAタグ等にセッションIDをGETパラメータとして付与してくれます。 以下を参考にされてはいかがでしょうか? CakePHPとは関係ありませんが、PHPで携帯サイトを構築する上での参考になります。 http://ke-tai.org/blog/2007/12/12/php_session_new/ 的外れでしたら、申し訳ございません。 |
| iroha | 投稿日時: 2009-9-5 21:46 |
Baker スタート ![]() ![]() 登録日: 2009-5-19 居住地: 投稿: 9 |
Re: 携帯のblackhole 対策 同じ問題にぶつかっています。
こちらは、Docomo, SoftBank, AUの実機で行い、 ROYさんと違い、AUのみでCSRFトークンチェックがエラーになります。 ROYさんのところでSoftBankがエラーになる理由は分かりませんが、 AUでの原因は分かりました。 Securityコンポーネントのセキュリティ・トークンは <fieldset style="display:none"> のフィールドセット要素の 中に出力されますが、AU携帯は、display:noneの要素の中の 入力フォームの値を無視するのです。 参考)WizMobileでxpWikiの章単位編集で不具合 http://www.xugj.org/modules/d3forum/index.php?topic_id=634 Cakeのライブラリの FormHelper::create(), FormHelper::secure() (FormHelper::end()で呼ばれる)に 手を入れて、fieldsetの display:none の指定が行われないようにすると、 AUの実機、エミュレータともに、Securityコンポーネントの CSRFトークンチェックを通るようになります。 しかし、display:noneの指定を外すと、画面にfieldsetが表示され、レイアウトが狂ってしまいます。 かと言って、CSRF対策をしないのも危険でしょう。 皆さんは、どのようにしたら良いとお考えになりますか? -- 最悪、FormHelper::create(), FormHelper::end() の出力するhidden要素を、 fieldset要素なしで出力するようにすれば、 すべてhiddenですから、画面レイアウトに影響はないかもしれません。 しかし、これもできたらやりたくない対処法です。 |
| patorash | 投稿日時: 2010-3-17 20:15 |
Baker スタート ![]() ![]() 登録日: 2008-2-16 居住地: 愛媛県 投稿: 11 |
Re: 携帯のblackhole 対策 同様の現象に当たりました。
下記、似たような内容なのでリンクを貼りますね。 $form->createで出力されるfieldsetを消す方法 このようにすると、Formヘルパーに手を入れることなく、解決できました |
| hiromi2424 | 投稿日時: 2010-3-17 20:44 |
Baker 常連 ![]() ![]() 登録日: 2009-11-23 居住地: 新潟 投稿: 58 |
Re: 携帯のblackhole 対策 http://github.com/cakephp/cakephp1x/commit/de7658e78bdd28c1fbbdf3f6f20f49cbf45860ba
他スレッドでも報告しましたが、fieldsetではなくdivを出力するようになりました。 しかし、diplay:noneについてはそのままなので、携帯という特殊環境などではpatorashさんの言うような方法なりをとらなければいけないようです。 |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



