最新のWeb開発のチュートリアル
×

PHP チュートリアル

PHP HOME PHP イントロ PHP インストール PHP 構文 PHP 変数 PHP エコー/印刷 PHP データの種類 PHP ストリング PHP 定数 PHP 演算子 PHP If...Else...Elseif PHP Switch PHP whileループ PHP Forループ PHP 機能 PHP 配列 PHP 配列のソート PHP スーパーグローバル

PHP 取り扱い

PHP フォーム 取り扱い PHP フォーム 検証 PHP フォーム 必須 PHP フォーム URL/E-mail PHP フォーム コンプリート

PHP 高度な

PHP 多次元配列 PHP 日時 PHP 含めます PHP ファイル 取り扱い PHP ファイル オープン/読みます PHP ファイル 作成/書きます PHP ファイル アップロード PHP Cookies PHP Sessions PHP フィルター PHP Filters 高度な PHP エラー 取り扱い PHP 例外

MySQL Database

MySQL データベース MySQL 接続 MySQL Create DB MySQL Create 表 MySQL Insert Data MySQL 最後のIDを取得します MySQL 複数の挿入 MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML パーサー PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX イントロ AJAX PHP AJAX データベース AJAX XML AJAX ライブ検索 AJAX RSSリーダー AJAX 世論調査

PHP Examples

PHP 例 PHP クイズ PHP 証明書

PHP 参照

PHP アレイ PHP カレンダー PHP 日付 PHP ディレクトリ PHP エラー PHP ファイルシステム PHP フィルタ PHP FTP PHP HTTP PHP Libxml PHP 郵便物 PHP 数学 PHP その他 PHP MySQLiを PHP SimpleXML PHP 文字列 PHP XML PHP Zip PHP 時間帯

 

PHPフィルター


データが適切な形式である場合、データを検証=決定します。

データをサニタイズ=データから任意の不正な文字を削除します。


PHPフィルタの拡張

PHPフィルタは、外部入力を検証し、サニタイズするために使用されています。

PHPフィルタ拡張機能は、ユーザの入力をチェックするために必要な機能の多くを持っており、データの検証がより簡単かつ迅速にするために設計されています。

filter_list()関数は、PHPフィルタの拡張が提供するものをリストするために使用することができます。

<table>
  <tr>
    <td>Filter Name</td>
    <td>Filter ID</td>
  </tr>
  <?php
  foreach (filter_list() as $id =>$filter) {
      echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
  }
  ?>
</table>
»実行例

なぜフィルタを使用しますか?

多くのWebアプリケーションでは、外部からの入力を受け取ります。 外部入力/データが使用できます

  • フォームからのユーザ入力
  • Cookies
  • Webサービスのデータ
  • サーバー変数
  • データベースのクエリ結果

あなたは常に外部データを検証する必要があります!
無効な送信されたデータは、セキュリティ上の問題につながるとあなたのWebページを破ることができます!
PHPフィルターを使用することにより、アプリケーションが正しい入力を取得することを確認することができます!


PHPのfilter_var()関数

filter_var()関数は、検証データをサニタイズ両方。

filter_var()関数は、指定したフィルタで単一の変数をフィルタリングします。 これは、データの2枚を取ります。

  • あなたがチェックしたい変数
  • 使用のチェックのタイプ

文字列をサニタイズ

次の例では、使用していますfilter_var()文字列からすべてのHTMLタグを削除する機能を:

<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
»実行例

整数を検証します

次の例では、使用していますfilter_var()変数$ intは整数であるかどうかを確認する機能を。 $ int型が整数である場合は、上記のコードの出力は次のようになります。 "Integer is valid" 。 $ int型が整数でない場合、出力は次のようになります。 "Integer is not valid"

<?php
$int = 100;

if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
    echo("Integer is valid");
} else {
    echo("Integer is not valid");
}
?>
»実行例

ヒント: filter_var() 0とし、問題

$ int型が0に設定された場合は、上記の例では、上記の関数は戻ります"Integer is not valid" 。 この問題を解決するために、以下のコードを使用します。

<?php
$int = 0;

if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
    echo("Integer is valid");
} else {
    echo("Integer is not valid");
}
?>
»実行例

IPアドレスを検証します

次の例では、使用していますfilter_var()変数$ IPが有効なIPアドレスであるかどうかを確認するための機能を:

<?php
$ip = "127.0.0.1";

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
    echo("$ip is a valid IP address");
} else {
    echo("$ip is not a valid IP address");
}
?>
»実行例

サニタイズと電子メールアドレスを検証します

次の例では、使用していますfilter_var()最初、それが有効な電子メールアドレスであるかどうかを確認、その後、$メール変数からすべての不正な文字を削除する機能を:

<?php
$email = "[email protected]";

// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
    echo("$email is a valid email address");
} else {
    echo("$email is not a valid email address");
}
?>
»実行例

URLをサニタイズと検証

次の例では、使用していますfilter_var()最初の$ URLが有効なURLであるかどうかを確認、その後、URLからすべての不正な文字を削除する機能を:

<?php
$url = "http://www.w3ii.com";

// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);

// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
    echo("$url is a valid URL");
} else {
    echo("$url is not a valid URL");
}
?>
»実行例

完全なPHPフィルタ参照

すべてのフィルタ関数の完全なリファレンスについては、当社の完全に行くPHPフィルタ参照。 使用可能なオプションとフラグを参照するには、各フィルタを確認してください。

参照は、各関数の簡単な説明、および使用例を、含まれています!