私はお金や顧客の口座などを扱っているため、CakePHPを安全にする必要があるシステムを作っています。これまでのところ、すべてがうまくいっています。私は自分のサイトにリダイレクトする必要があり、彼らは私のところにリダイレクトされます。私を保護するPHPのsession.referer_checkとは何ですか?
これは私の開発マシン(debug = 2)でうまく動作しますが、プロダクションでは、顧客がリダイレクトされたときに、彼はログインした領域に戻らずにログインプロンプトを表示します。私はCakePHPがsession.referer_checkを設定しているので、掘り下げた後に見つかった.HTTP_REFERERが私のホスト以外のホストから来た場合、セッションを無効にする。
通常、これはもう一度考えなくても無効にしていますが、このシステムではセキュリティが通常よりも少し心配です。
私の質問は、私を守るためにsession.referer_checkと正確に何が違いますか?
私のサイトをオフにすると、どのような攻撃/悪用/悪いことが私のサイトに行えますか?
私は、これが存在する何らかの理由があると推測していますが、私はそれが私を守るとは想像できません。
私に何かアイデアを教えてください。
これを無効にしても安全ですか?
ダニエル
あなたはCSRFに対して保護するために以前のリクエストでフォームと一緒に送られたトークンではなくリファラーをチェックしていますか? – Pablo
100%確実です。 CakePHPは参照元をチェックしていません。それはreferer_check(参照元自体をチェックするPHP機能です:http://www.php.net/manual/en/session.configuration.php#ini.session.referer-check ) - また、私が見る結果は人々を伐採することです。 CakePHPはCSRFトークンが好きでないとき(またはそれが得られないとき)に「ブラックホール」(基本的には空白ページ)です –
類似:http://stackoverflow.com/questions/22079477/cakephp -session-is-oauth-redirect-after-an-oauth-redirect – trante