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

More Related Content

More from 柴田 篤志

CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
柴田 篤志
 
オープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoyaオープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoya
柴田 篤志
 

More from 柴田 篤志 (19)

Nagoya.phpについて
Nagoya.phpについてNagoya.phpについて
Nagoya.phpについて
 
ライフハックでストレスフリーな仕事術
ライフハックでストレスフリーな仕事術ライフハックでストレスフリーな仕事術
ライフハックでストレスフリーな仕事術
 
ソーシャルメディアを利用したビジネス展開
ソーシャルメディアを利用したビジネス展開ソーシャルメディアを利用したビジネス展開
ソーシャルメディアを利用したビジネス展開
 
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
 
オープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoyaオープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoya
 
Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方
 
Cake Php開発事例
Cake Php開発事例Cake Php開発事例
Cake Php開発事例
 
Life Hack
Life HackLife Hack
Life Hack
 
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
 
Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門
 
一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門
 
JavaScript&Firebug入門
JavaScript&Firebug入門JavaScript&Firebug入門
JavaScript&Firebug入門
 
Cake Php ページ送り機能
Cake Php ページ送り機能Cake Php ページ送り機能
Cake Php ページ送り機能
 
Cake Php パン屋へ行こう
Cake Php パン屋へ行こうCake Php パン屋へ行こう
Cake Php パン屋へ行こう
 
Cake Php キャッシュのやり方
Cake Php キャッシュのやり方Cake Php キャッシュのやり方
Cake Php キャッシュのやり方
 
開発ツールの紹介(080316)
開発ツールの紹介(080316)開発ツールの紹介(080316)
開発ツールの紹介(080316)
 
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
 
CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)
 
第1回SE勉強会(080302)
第1回SE勉強会(080302)第1回SE勉強会(080302)
第1回SE勉強会(080302)
 

Recently uploaded

Recently uploaded (7)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

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