Cake Phpでの安全なサイトの作り方2(Xss)

3,610 views
3,533 views

Published on

第12回の高蔵寺SE勉強会の資料です

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,610
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Cake Phpでの安全なサイトの作り方2(Xss)

    1. 1. CakePHP での安全なサイトの作り方 2 ~クロスサイトスクリプティング~ 第 12 回 高蔵寺 SE 勉強会  2008/8/24 (日)
    2. 2. クロスサイトスクリプティングとは
    3. 3. Web サイトの訪問者の入力をそのまま画面に表示する掲示板などのプログラムが、悪意のあるコードを訪問者のブラウザに送ってしまう脆弱性のこと。 IT 用語辞典より
    4. 4. クロスサイトスクリプティングの 脆弱性があるとどうなるのか?
    5. 5. ・ Cookie の漏えい ・ページの改ざん
    6. 6. サンプルを紹介します (別画面になります)
    7. 7. CakePHP ではどのように対応するか?
    8. 8. 例 <?php e(h($value)); ?> View において、 h(htmlspecialchars) を付けて表示させる cake/basics.php で、下記のように処理されている htmlspecialchars($text, ENT_QUOTES, $charset);
    9. 9. 注意点 htmlspecialchars($text, ENT_QUOTES , $charset); 先ほどの例の 「 ENT_QUOTES 」がないと、シングルクオート をエスケープしてくれないので、これが入っていることが重要! ちなみに、これは CakePHP1.2 の話。では、 1.1 では????
    10. 10. CakePHP1.1 の場合 htmlspecialchars($text); cake/basics.php でどの様に書いてあるかというと、 「 ENT_QUOTES 」がないですね。  入れておきましょう!!
    11. 11. これで安心? CakePHP では表示する部分に全て h を付ける事で クロスサイトスクリプティングが防げるかというと、そうでもない。 script タグ、 style タグ、タグの属性に動的要素を出力する場合は、 h を付けてもクロスサイトスクリプティングが起こりうる可能性があるので、注意を払う必要がある。
    12. 12. 終わり

    ×