Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】FILTER_UNSAFE_RAW定数の使い方

FILTER_UNSAFE_RAW定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

FILTER_UNSAFE_RAW定数は、PHPのフィルター機能で、入力データをそのまま受け取ることを表す定数です。filter_var()関数やfilter_input()関数でこの定数を指定すると、データは検証やサニタイズ(無害化)なしにそのまま取得されます。

ウェブアプリケーションのユーザー入力はセキュリティリスク(スクリプトインジェクションやクロスサイトスクリプティングなど)を伴うため、通常フィルタリングやサニタイズが強く推奨されます。しかし、FILTER_UNSAFE_RAWを使った場合、PHPのフィルター機能はデータの検証や特殊文字のエスケープを行いません。そのため、HTMLタグやJavaScriptコードを含む入力も加工されずに処理されます。

この定数は、データの安全性が他の方法で既に保証されている場合や、後続の処理で手動による厳密な検証や変換を行う場合に利用されます。また、フィルタリングで破損する可能性のある画像やバイナリデータを扱う際にも使用されます。

システムエンジニアを目指す初心者の皆様は、FILTER_UNSAFE_RAWを使う際、取得したデータに対する厳格な検証やエスケープ処理を必ず実施し、セキュリティリスクを十分に理解することが重要です。この定数の安易な利用は、アプリケーションに深刻な脆弱性をもたらすため、使用は極めて慎重に検討してください。

構文(syntax)

1<?php
2$input_string = "これは<b>安全でない</b>文字列です。";
3$output_string = filter_var($input_string, FILTER_UNSAFE_RAW);
4echo $output_string;
5?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

FILTER_UNSAFE_RAW は、フィルタリング処理において、生の(エスケープされていない)データを表す定数です。その値は整数 0 です。

関連コンテンツ