便利なFilter関数を使いこなそう その4

Human Resocia Co.,Ltd.

2015-12-02 09:00

ヒューマンリソシア株式会社はコラム「便利なFilter関数を使いこなそう その4」を公開しました。
###
今回も検証フィルタの続きです。
今回は、ネットワークに関連するものを見ていきましょう。
まずは「IPアドレス表記であるか」を確認する FILTER_VALIDATE_IP をみていきます。

function hoge($s) {
$options = array(
);
var_dump($s);
var_dump(filter_var($s, FILTER_VALIDATE_IP, $options));
echo "\n";
}
//
hoge('localhost'); // false
hoge('127.0.0.1');
hoge('127.0.0.256'); // false
hoge('2001:0db8:bd05:01d2:288a:1fc0:0001:10ee');
hoge('2001:db8::9abc');
hoge('::9abc');
hoge('2001::db8::9abc'); // false

IPv6もお手のもの、省略表記も適切に解釈してくれます。「2箇所省略したらNGだよ」という規約が
遵守されているのは、’2001::db8::9abc’がfalseであることによって理解できるかと思います。
これだけでも十分に便利なのですが、フラグによって「IPv4のみ」「IPv6のみ」の指定も可能です。

function hoge($s) {
$options = array(
'flags' => FILTER_FLAG_IPV4
);
var_dump($s);
var_dump(filter_var($s, FILTER_VALIDATE_IP, $options));
echo "\n";
}
//
hoge('localhost');
hoge('127.0.0.1');
hoge('127.0.0.256');
hoge('2001:0db8:bd05:01d2:288a:1fc0:0001:10ee');
hoge('2001:db8::9abc');
hoge('::9abc');
hoge('2001::db8::9abc');

IPv6は、定数「FILTER_FLAG_IPV6」を渡せばOKです。

またさらに「プライベートアドレスはNG」「予約済みアドレスはNG」という、範囲まで見てくれるフラグがあります。

function hoge($s) {
$options = array(
// プライベートアドレスの範囲はNG
'flags' => FILTER_FLAG_NO_PRIV_RANGE
);
var_dump($s);
var_dump(filter_var($s, FILTER_VALIDATE_IP, $options));
echo "\n";
}
//
hoge('127.0.0.1');
hoge('192.168.0.1'); // false
hoge('50.60.70.80');

この続きは以下をご覧ください
(リンク »)
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

【企業の皆様へ】企業情報を掲載・登録するには?

御社の企業情報・プレスリリース・イベント情報・製品情報などを登録するには、企業情報センターサービスへのお申し込みをいただく必要がございます。詳しくは以下のページをご覧ください。

ホワイトペーパー

新着

ランキング

  1. ビジネスアプリケーション

    AI導入の成否を左右するアーキテクチャ設計とは

  2. セキュリティ

    サイバーリスクは経営の最重要課題へ。取締役会に求められるインシデント対応の実践ガイド

  3. ビジネスアプリケーション

    なぜAIは定着しないのか? 全社活用を阻む3つの壁を突破し、業務の中で自然に動く仕組みを作るには

  4. ビジネスアプリケーション

    AI 人材育成を単なる研修で終わらせない--事業を動かす AI スキル構築の 5 つのステップ

  5. 経営

    8 割超の組織が“インフラの限界”に直面──エージェント型 AI 時代の新たな基準とは

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]