PHPフィルター(2)
ブール検証 FILTER_VALIDATE_BOOLEAN
1 <?php2 3 /*** test for a boolean value ***/4 echo filter_var("true", FILTER_VALIDATE_BOOLEAN);5 //16 ?>
フィルターが有効なブール値を見つけたので、上記のコードは 1 を出力します。以下に true を返すことができる他の値を示します。
1
"1"
"yes"
" true"
"on"
TRUE
次の値はfalseを返します
0
"0"
"no"
"false"
"off"
""
NULL
FALSE
は次の使用法もサポートしています
1 <?php2 3 /*** a simple array ***/4 $array = array(1,2,3,4,5);5 6 /*** test for a boolean value ***/7 echo filter_var(in_array(3, $array), FILTER_VALIDATE_BOOLEAN) ? "TRUE" : "FALSE";8 //true9 ?>
上記のコードでは、最初に in_array 関数が正常に実行されたと判断され、true が返されるため、最後のコードは true を出力します
配列を渡して、配列内の値のブール型を決定することもできます
1 <?php 2 3 /*** a multi dimensional array ***/ 4 $array = array(0,1,2,3,4, array(0,1,2,3,4)); 5 6 /*** create the list of values ***/ 7 $values = filter_var($array, FILTER_VALIDATE_BOOLEAN, FILTER_REQUIRE_ARRAY); 8 9 /*** dump the values ***/10 var_dump($values);11 12 ?>
上記のコードの出力は次のとおりです。 (false)
[3] => bool(false)
[4]=> bool(false)
[5]=> array(5) {
[0]=> 1]=> bool(true)
[2]=> bool(false)
[4]=> bool(false)
}
}
浮動小数点verify FILTER_VALIDATE_FLOAT
1 <?php 2 3 /*** an FLOAT value to check ***/ 4 $float = 22.42; 5 6 /*** validate with the FLOAT flag ***/ 7 if(filter_var($float, FILTER_VALIDATE_FLOAT) === false) 8 { 9 echo "$float is not valid!";10 }11 else12 {13 echo "$float is a valid floating point number";14 }15 ?>
他の検証と同様に、浮動小数点検証も配列に対して実行できます。ブール値検証と同様に、flgs FILTER_REQUIRE_ARRAY を指定します。
/*** 値の配列 ***/
$array = array(1.2,"1.7","", "-12345.678", "some text", "abcd4.2efgh", array()) ;/*** 配列を検証します ***/
$validation_array = filter_var($array, FILTER_VALIDATE_FLOAT, FILTER_REQUIRE_ARRAY);
var_dump($validation_array);
上記コード出力は次のとおりです
array(7) {
[2]=> bool(false)
[3]=> ; float (-23234.123)
[5]=> bool(false)
[6]=> array(0) { }
}
浮動小数点フィルターは、数値間の区切り文字を指定
1 <?php 2 3 /*** an array of floats with seperators ***/ 4 $floats = array( 5 "1,234" => ",", 6 "1.234" => "..", 7 "1.2e3" => "," 8 ); 9 10 /*** validate the floats against the user defined decimal seperators ***/11 foreach ($floats as $float => $dec_sep)12 {13 $out = filter_var($float, FILTER_VALIDATE_FLOAT, array("options"=>array("decimal" => $dec_sep)));14 /*** dump the results ***/15 var_dump($out);16 }17 ?>
上記のコードでは、$floats 関数の最初の要素の値が ',' なので、1,234 の値を判定するときに区切り文字が ',' として指定されているため、true を返します
上記のコードの完全な戻り値
float(1.234)警告: filter_var() [function.filter-var]: /www/filter.php の 13 行目の小数点区切り文字は 1 文字である必要があります
bool(false)
bool(false)URL の検証 FILTER_VALIDATE_URL
URL は不確実であるため、URL の検証は非常に困難な動作です。RFC 1738 を参照して、URL に関する情報を学びましょう。 。次に、すべての ipv4 および ipv6 URL、およびその他の URL を検証するクラスを作成できます。 FILTER_VALIDATE_URL を使用して URL を検証することもできます。
1 <?php 2 3 /*** a rfc compliant web address ***/ 4 $url = "http://www.phpro.org"; 5 6 /*** try to validate the URL ***/ 7 if(filter_var($url, FILTER_VALIDATE_URL) === FALSE) 8 { 9 /*** if there is no match ***/10 echo "Sorry, $url is not valid!";11 }12 else13 {14 /*** if we match the pattern ***/15 echo "The URL, $url is valid!<br />";16 }17 ?>
上の例では、単純な if ステートメントを使用して、指定された URL が正当かどうかを判断していますが、すべての URL がこの形式であるわけではありません。 URL が IP アドレスである場合や、URL で複数のパラメータが渡される場合があります。 URL の検証に役立ついくつかのフラグが以下に提供されています
FILTER_FLAG_SCHEME_REQUIRED - URL が RFC 準拠の URL である必要があります。 (例: http://example)
FILTER_FLAG_HOST_REQUIRED - URL にホスト名を含める必要があります (http://www.example.com)
FILTER_FLAG_QUERY_REQUIRED - URL にクエリ文字列が必要です (例: "eg.php?age=37")
1 <?php 2 3 /*** a non rfc compliant URL ***/ 4 $url = "index.php"; 5 6 /*** try to validate the URL ***/ 7 if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED) === FALSE) 8 { 9 /*** if there is no match ***/10 echo "Sorry, $url is not valid!";11 }12 else13 {14 /*** if the URL is valid ***/15 echo "The URL, $url is valid!";16 }17 ?>
上記のコードは渡されないことがわかりますverify
IP フィルター FILTER_VALIDATE_IP
名前: "validate_ip"
ID 番号: 275可能なフラグ:
FILTER_FLAG_IPV4 - 値が有効な IPv4 IP である必要があります (例: 255.255.255.255)FILTER_FLAG_IPV6 - 値が有効な IPv6 IP である必要があります (例: 2) 001:0db8: 85a3 :08d3:1319:8a2e:0370:7334)
FILTER_FLAG_NO_PRIV_RANGE - 必要な値は RFC で指定されたプライベート IP (192.168.0.1 など) です。FILTER_FLAG_NO_RES_RANGE - 必要な値は予約された IP 範囲内にありません。このフラグは、IPV4 および IPV6 の値を受け入れます。
メール フィルター FILTER_VALIDATE_EMAIL
FILTER_VALIDATE_EMAIL フィルターは、メール アドレスとしての値を検証します。
1 <?php 2 $email = "someone@exa mple.com"; 3 4 if(!filter_var($email, FILTER_VALIDATE_EMAIL)) 5 { 6 echo "E-mail is not valid"; 7 } 8 else 9 {10 echo "E-mail is valid";11 }12 ?>
カスタム フィルター FILTER_CALLBACK
FILTER_CALLBACK フィルターは、ユーザー定義関数を使用して値をフィルターします。
このフィルターにより、データのフィルター処理を完全に制御できます。
指定された関数は、「options」という名前の連想配列に格納する必要があります。
れーい
输出
Peter_is_a_great_guy!
PHP技术交流群 170855791

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
