ホームページ バックエンド開発 PHPチュートリアル PHP: IP 変換シェーピング (変換)

PHP: IP 変換シェーピング (変換)

Jun 13, 2016 pm 12:34 PM
ip lt

PHP: IP 変換シェーピング (変換)

この記事は http://blog.chinaunix.net/uid-10697776-id-2935481.html から転載されました

?

?

?

ドットで区切られた 4 つのフィールドを持つ IP ネットワーク アドレス プロトコル アドレスを整数に変換するにはどうすればよいですか?たとえば、PHP には ip2long という関数があります。

echoip2long("10.2.1.3");<p>?></p>echoip2long("10.2.1.3");<br>?>

を入手します

167903491

これはどのように計算されますか? 現在、2 つのアルゴリズムがわかっています。 1 つの

functionip2int($ip){<p> //まず IP を 4 つのセグメント $ip1,$ip2,$ip3,$ip4<code>functionip2int($ip){<br> //我们先把ip分为四段,$ip1,$ip2,$ip3,$ip4<br> list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip);<br> //然后第一段乘以256的三次方,第二段乘以256的平方,第三段乘以256<br> //这即是我们得到的值<br> return$ip1*pow(256,3) $ip2*pow(256,2) $ip3*256 $ip4;<br>}<br>?>list($ip1,$ip2,$ip3) に分割します,$ip4)=explode(".",$ip);

//最初のセグメントに 256 の 3 乗を掛け、2 番目のセグメントに 256 の 2 乗を掛け、3 番目のセグメントに 256 を掛けます

/ /これは取得する値

return$ip1*pow(256,3) $ip2*pow(256,2) $ip3*256 $ip4;

}functionip2int($ip){<br> list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip);<br> return($ip1<<24)|($ip2<<16)|($ip3<<8)|($ip4);<br>}<br>?>?>

2 番目に、ビット演算を使用します

functionip2int($ip){

list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip);

return($ip1<< 24)|($ip2<16)|($ip3<8)|($ip4);

}

?>functionchk_ip($ip){<br> if(ip2long($ip)=="-1"){<br>   returnfalse;<br> }<br> returntrue;<br>}<br>//应用<br>var_export(chk_ip("10.111.149.42"));<br>var_export(chk_ip("10.111.256.42"));<br>?> </p> 整数に変換すると、一部の IP が負になることがわかります。これは、結果が符号付き整数であり、最大値が 2147483647 であるためです。符号なしに変換するには、<p> を使用できます。 </p> sprintf("%u",ip2long($ip);<p> </p> は正の整数に変換できます。そして、得られた結果は、通常、long2ip を使用して元の IP アドレスに変換できます。 ip2long を使用して、<p> などの IP が有効かどうかを確認することもできます。 </p> <code>functionchk_ip($ip){<p>if(ip2long($ip)=="-1"){</p> returnfalse;<p>}</p>returntrue;<p>}</p>//アプリケーションvar_export(chk_ip("10.111.149.42"));<div class="clear">var_export(chk_ip("10.111.256.42"));?> true と false を出力します ? ? ? ? ? </div>

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Web サイトは、nginx を通じてブラック/ホワイトリスト IP 制限や国および都市の IP アクセス制限をどのように設定しますか? Web サイトは、nginx を通じてブラック/ホワイトリスト IP 制限や国および都市の IP アクセス制限をどのように設定しますか? Jun 01, 2023 pm 05:27 PM

1. ブラック/ホワイト リストの IP 制限付きアクセス設定 nginx ブラック リストとホワイト リストを設定するにはいくつかの方法がありますが、ここでは一般的に使用される 2 つの方法のみを紹介します。 1. 最初の方法:allow、denydeny、およびallow命令はngx_http_access_moduleに属しており、nginxはデフォルトでこのモジュールをロードするため、直接使用できます。この方法は最も単純で直接的です。この設定はファイアウォールの iptable に似ています。使用方法: 構成ファイルに直接追加します: #Whitelist 設定の後に、アクセス可能な許可 IPlocation/{allow123.13.123.12;allow23.53.32.1/100;denyall;}#ブラックリスト設定、

IP と MAC のバインドは何を意味しますか? IP と MAC のバインドは何を意味しますか? Mar 09, 2023 pm 04:44 PM

IP および MAC バインディングとは、特定の IP アドレスを特定の MAC アドレスに関連付けることを指し、その結果、MAC アドレスを使用するデバイスのみがネットワーク通信に IP アドレスを使用できるようになります。 ip と mac をバインドすると、バインドされたホストの IP アドレスがスプーフィングされるのを防ぐことができます。前提条件: 1. MAC アドレスは一意であり、スプーフィングできません。ルータに直接接続されているネットワーク上のホストにのみバインドできます (つまり、ホストのゲートウェイはルーター上にあります)。

WeChatでIPアドレスを確認する方法 WeChatでIPアドレスを確認する方法 May 31, 2023 am 09:16 AM

WeChat で IP アドレスを確認する方法: 1. パソコン版 WeChat にログインし、画面下のタスクバーを右クリックし、「タスク マネージャー」をクリックします。 2. タスク マネージャーが表示されたら、「」をクリックします。左下隅の「詳細」をクリックします; 3. タスク管理 ブラウザの「パフォーマンス」オプションを入力し、「リソース モニターを開く」をクリックします; 4. 「ネットワーク」を選択し、WeChat プロセス「Wechat.exe」を確認します; 5. 「」をクリックします。以下の「TCP 接続」を使用して、WeChat ネットワークの IP 関連の状況を監視します。メッセージを送信して返信を受け取ると、相手の IP アドレスがわかります。

nginxでディレクトリホワイトリストとIPホワイトリストを設定する方法 nginxでディレクトリホワイトリストとIPホワイトリストを設定する方法 May 18, 2023 pm 03:52 PM

1. ディレクトリのホワイトリストを設定します: 指定されたリクエスト パスに制限はありません。API ディレクトリへのリクエスト パスに制限がない場合は、server{location/app{proxy_passhttp://192.168.1.111: 8095/app ;limit_connconn20;limit_rate500k;limit_reqzone=fooburst=5nolay;}location/app/api{proxy_passhttp://192.168.1.111:8095/app/api}}#nginx は正確なマッチングを優先するため

NGINX は Web サイトの PV、UV、独立 IP をどのようにカウントしますか? NGINX は Web サイトの PV、UV、独立 IP をどのようにカウントしますか? May 19, 2023 am 09:13 AM

コンセプト: uv (ユニークビジター): ユニークビジター。それぞれの独立したインターネットコンピュータ (Cookie に基づく) をビジターとみなし、1 日 (00:00 ~ 24:00) に Web サイトを訪問するビジターの数。 1 日内の同じ Cookie への訪問は PV (ページビュー) 1 回のみカウントされます。訪問、つまりページビューまたはクリックは、ユーザーによる Web サイトへの各訪問が 1 回記録されます。ユーザーが同じページを複数回訪問した場合、合計訪問数がカウントされます 独立 IP: 同じ IP アドレスは 00:00 ~ 24:00 の間に 1 回だけカウントされます ウェブサイトの最適化を行う友人が最も懸念しているのは、これです。まず環境について説明します。これは nginx バージョン 1.7 を実行し、バックエンドの Tomcat は動的に実行されます。

Wi-Fi に IP 割り当てが表示されない場合はどうすればよいですか? Wi-Fi に IP 割り当てが表示されない場合はどうすればよいですか? Aug 30, 2023 am 11:58 AM

Wi-Fi に IP 割り当てが表示されない場合の解決策: 1. デバイスとルーターを再起動し、デバイスの Wi-Fi 接続をオフにし、デバイスの電源を切り、ルーターの電源をオフにして、数分待ってから、ルーターを再度開いて Wi-Fi に接続します。 ; 2. ルーターの設定を確認し、DHCP を再起動し、DHCP 機能が有効になっていることを確認します; 3. ネットワーク設定をリセットすると、保存されているすべての WiFi ネットワークとパスワードが削除されます。この操作を実行する前にバックアップされていることを確認してください; 4. アップデートルーターのファームウェアを更新するには、ルーター管理インターフェイスにログインし、ファームウェアの更新オプションを見つけて、プロンプトに従います。

nginxリバースプロキシに基づいてユーザーの実際のIPアドレスを取得する方法 nginxリバースプロキシに基づいてユーザーの実際のIPアドレスを取得する方法 May 13, 2023 pm 05:07 PM

はじめに nginx がリバース プロキシとして使用される場合、デフォルト設定バックエンドによって取得される IP アドレスは nginx から取得されます。ユーザーの実際の IP ではなく、request.getRemoteAddr(); を使用して nginx の IP アドレスを取得します。1. Nginx 設定を変更します。サーバー{listen80;server_namejenkins.local.com;location/{proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_passhttp://192.168.10。

IPとはどういう意味ですか? IPとはどういう意味ですか? Jan 05, 2024 pm 01:34 PM

IP の一般的な意味には、「IP アドレス」、「知的財産」、「独自のセールスポイント」、および「独立性」が含まれます: 1. IP アドレスは、コンピュータ ネットワーク内の機器を識別し、位置を特定するために使用されるデジタル識別子です。2. 知的財産とは、特許、商標、著作権、企業秘密など、人々の知的創造物が享受する権利と利益に対する権利と利益 3. 独自のセールスポイントとは、競合他社と区別し、顧客を引き付ける製品またはサービスの独自の特徴です 4. 独立性国または地域が外部の制御や干渉を受けることなく独立した決定を下し、自らを管理する能力を指します。

See all articles