亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP 初心者向けのフィルター

1.php フィルター

PHP フィルターは、ユーザー入力などの安全でないソースからのデータを検証し、フィルターするために使用されます。

2. PHP フィルターとは

PHP フィルターは、安全でないソースからのデータを検証し、フィルターするために使用されます。

ユーザー入力またはカスタム データのテスト、検証、フィルタリングは、Web アプリケーションの重要な部分です。 PHP のフィルター拡張機(jī)能は、データのフィルター処理を簡単かつ高速にするように設(shè)計(jì)されています

3. フィルターを使用する理由

ほぼすべての Web アプリケーションは外部入力に依存しています。通常、このデータはユーザーまたは他のアプリケーション (Web サービスなど) から取得されます。フィルターを使用すると、アプリケーションが正しい入力タイプを確実に取得できるようになります

外部データをフィルターするとセキュリティが向上します。それでは、どのような外部データがあるでしょうか?

(1).フォームからの入力データ

(2).Cookie

(3).Webサービスデータ

(4).サーバー変數(shù)

(5).データベースクエリ結(jié)果

関數(shù)とフィルター

変數(shù)をフィルターするには、次のフィルター関數(shù)のいずれかを使用します:

filter_var() - 指定したフィルターで単一の変數(shù)をフィルターします

filter_var_array() - 同じまたは異なるフィルターでフィルターします 複數(shù)の変數(shù)をフィルターするフィルター

filter_input - 入力変數(shù)を取得し、それをフィルターします

filter_input_array - 複數(shù)の入力変數(shù)を取得し、同じまたは異なるフィルターを通してそれらをフィルターします

<?php
	header("Content-type: text/html; charset=utf-8");//設(shè)置編碼
	$int = 123;
	if(!filter_var($int, FILTER_VALIDATE_INT)){
		echo("不是一個(gè)合法的整數(shù)");
	}else{
		echo("是個(gè)合法的整數(shù)");
	}
?>

注: 有効な整數(shù)を記述すると、出力は有効な整數(shù)になります。そうでない場合、出力は有効な整數(shù)ではありません。

検証とサニタイズ これらは 2 種類のフィルタです

検証フィルタ:

ユーザー入力を検証するために使用されます

厳密な書式設(shè)定ルール (URL や電子メールの検証など)

成功した場合は予期された型を返し、失敗した場合は FALSE を返します

サニタイズフィルター:

文字列內(nèi)の指定された文字を許可または禁止するために使用します

データ形式規(guī)則はありません

常に文字列を返します

オプションとフラグ

オプションとフラグは、指定されたフィルターに追加のフィルター オプションを追加するために使用されます。

異なるフィルターには異なるオプションとフラグがあります

<?php
	header("Content-type: text/html; charset=utf-8");//設(shè)置編碼
	$var=300;

$int_options = array(
		"options"=>array(
			"min_range"=>0,
			"max_range"=>256
			)
		);

	if(!filter_var($var, FILTER_VALIDATE_INT, $int_options)){
		echo("不是一個(gè)合法的整數(shù)");
	}else{
		echo("是個(gè)合法的整數(shù)");
	}
?>

注: 上記のコードと同様に、オプションは「options」と呼ばれる関連する配列に入れる必要があります。フラグを使用する場合、フラグを配列にする必要はありません。整數(shù)が「300」なので指定範(fàn)囲外です

入力の検証

フォームからの入力を検証してみましょう。

最初に行う必要があるのは、探している入力データが存在することを確認(rèn)することです。

次に、filter_input() 関數(shù)を使用して入力データをフィルターします。

以下の例では、入力変數(shù)「email」がPHPページに渡されます

<?php
	header("Content-type: text/html; charset=utf-8");//設(shè)置編碼
	if(!filter_has_var(INPUT_GET, "email")){
		echo("沒有 email 參數(shù)");
	}else{
		if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)){
			echo "不是一個(gè)合法的 E-Mail";
		}else{
			echo "是一個(gè)合法的 E-Mail";
		}
	}
?>

注: フォームがデータを送信する際には、まずgetでデータが送信されているかどうかを確認(rèn)します

その後、データが送信されているかどうかを判斷します

??正規(guī)のメールです ??

入力のサニタイズ

フォームから渡されたURLをサニタイズしてみましょう。

まず、探している入力データが存在することを確認(rèn)します。

次に、filter_input() 関數(shù)を使用して入力データを精製します。

次の例では、入力変數(shù)「url」が PHP ページに渡されます:

<?php
	header("Content-type: text/html; charset=utf-8");//設(shè)置編碼
	if(!filter_has_var(INPUT_GET, "url")){
		echo("沒有 url 參數(shù)");
	}else{
		$url = filter_input(INPUT_GET, 
		"url", FILTER_SANITIZE_URL);
		echo $url;
	}
?>

注: 「GET」タイプの「url」入力変數(shù)があるかどうかを確認(rèn)してください。

この入力変數(shù)が存在する場合は、それをサニタイズ(不正な文字を削除)し、$url変數(shù)に保存します


學(xué)び続ける
||
<?php header("Content-type: text/html; charset=utf-8");//設(shè)置編碼 $int = 123; if(!filter_var($int, FILTER_VALIDATE_INT)){ echo("不是一個(gè)合法的整數(shù)"); }else{ echo("是個(gè)合法的整數(shù)"); } ?>