Rumah php教程 php手册 PHP 中检查或过滤IP地址的实现代码

PHP 中检查或过滤IP地址的实现代码

Jun 06, 2016 pm 08:39 PM
alamat IP penapis

网络环境异常复杂,有时候我们不得不禁止一些恶意用户访问,禁止的方式有很多种,其中一种就是通过 IP 来限制,本文提供的方法允许你通过 IP 区间、CIDR (Classless Inter-Domain Routing)及单个 IP 格式来检查或过滤 IP 地址

你可以通过增加一个配置文件,然后将需要禁止的一些 IP 地址通过一定规则添加到配置文件中,在程序初始化的时候,读取配置文件中的每个规则,然后通过本文提供的方法去检查当前访问的客户端 IP 地址是否存在于这些规则中,如果存在,则拒绝提供服务。
代码如下:
/**
* PHP 中检查或过滤 IP 地址
*
* 支持 IP 区间、CIDR(Classless Inter-Domain Routing)及单个 IP 格式
* 整理:http://www.CodeBit.cn
* 参考:
* - {@link http://us2.php.net/manual/zh/function.ip2long.php#70055}
* - {@link http://us2.php.net/manual/zh/function.ip2long.php#82397}
*
* @param string $network 网段,支持 IP 区间、CIDR及单个 IP 格式
* @param string $ip 要检查的 IP 地址
* @return boolean
*/
function netMatch($network, $ip) {
$network = trim($network);
$ip = trim($ip);
$result = false;
// IP range : 174.129.0.0 - 174.129.255.255
if (false !== ($pos = strpos($network, "-"))) {
$from = ip2long(trim(substr($network, 0, $pos)));
$to = ip2long(trim(substr($network, $pos+1)));
$ip = ip2long($ip);
$result = ($ip >= $from and $ip // CIDR : 174.129.0.0/16
} else if (false !== strpos($network,"/")) {
list ($net, $mask) = explode ('/', $network);
$result = (ip2long($ip) & ~((1 // single IP
} else {
$result = $network === $ip;
}
return $result;
}
// 174.129.0.0 - 174.129.255.255
var_dump(netMatch(' 174.129.0.0 - 174.129.255.255 ', '174.129.1.31')); // True
var_dump(netMatch(' 174.129.0.0/16 ', '174.139.1.31')); // False
var_dump(netMatch(' 174.129.1.32 ', '174.129.1.31')); // False
?>

由于中国使用的大多数都是动态 IP 地址,所以通过 IP 地址限制访问具有一定的局限性,使用的时候需要谨慎,但是对于应急限制访问来说,还是非常有用的。
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menetapkan Xiaohongshu supaya tidak memaparkan alamat IP? Bagaimanakah ia menukar id untuk mencari bandar? Bagaimana untuk menetapkan Xiaohongshu supaya tidak memaparkan alamat IP? Bagaimanakah ia menukar id untuk mencari bandar? Mar 27, 2024 pm 03:00 PM

Xiaohongshu ialah platform e-dagang sosial yang popular di mana pengguna boleh berkongsi kehidupan harian mereka dan menemui produk kegemaran mereka. Sesetengah pengguna lebih sensitif terhadap privasi peribadi dan berharap alamat IP mereka tidak akan dipaparkan pada Xiaohongshu untuk melindungi privasi dalam talian mereka. Jadi, bagaimana untuk menetapkan Xiaohongshu supaya tidak memaparkan alamat IP? Artikel ini akan menjawab soalan ini secara terperinci. 1. Bagaimana untuk menetapkan Xiaohongshu supaya tidak memaparkan alamat IP? 1. Ubah suai tetapan Xiaohongshu: Buka APP Xiaohongshu, klik "Saya" di penjuru kanan sebelah bawah untuk memasuki pusat peribadi. Kemudian klik pada avatar untuk memasukkan tetapan akaun. Dalam tetapan akaun, cari "Tetapan Privasi" dan klik untuk masuk. Di sini, anda boleh mencari pilihan tetapan untuk alamat IP, matikan sahaja. 2. Kosongkan cache: Kadangkala, Xiaohongshu mungkin memaparkan ralat

Bagaimana untuk menyelesaikan masalah bahawa alamat IP Windows 10 tidak boleh disimpan selepas menetapkannya Bagaimana untuk menyelesaikan masalah bahawa alamat IP Windows 10 tidak boleh disimpan selepas menetapkannya Jul 08, 2023 pm 12:33 PM

Kadang-kadang semua orang menghadapi keperluan untuk mengubah suai alamat IP secara manual, tetapi sesetengah pelanggan Windows 10 melaporkan bahawa alamat IP tidak boleh disimpan selepas menetapkannya Bagaimana untuk menyelesaikan situasi ini? Alamat IP disimpan pada asasnya kerana terdapat ralat dalam mengisi alamat IP anda Anda boleh menyemak sama ada awalan subnet telah ditulis dengan subnet mask Jika ya, tukarkannya semula. alamat IP. Bagaimana untuk menyelesaikan masalah bahawa alamat IP Windows 10 tidak boleh disimpan selepas ia ditetapkan: Gambar ralat adalah seperti berikut: Gesaan "Tidak dapat menyimpan tetapan IP, sila semak satu atau lebih tetapan dan cuba" disebabkan oleh mengisi ralat ini ialah panjang awalan subnet, bukan topeng subnet Seperti yang ditunjukkan dalam gambar. Seperti yang ditunjukkan dalam gambar di atas, ramai pengguna sebenarnya menulis awalan subnet sebagai topeng subnet.

Di manakah alamat IP telefon bimbit Xiaomi? Di manakah alamat IP telefon bimbit Xiaomi? Feb 29, 2024 pm 06:10 PM

Di manakah alamat IP telefon bimbit Xiaomi? Anda boleh menyemak alamat IP pada telefon bimbit Xiaomi, tetapi kebanyakan pengguna tidak tahu di mana untuk menyemak alamat IP Seterusnya ialah tutorial grafik tentang cara menyemak alamat IP telefon bimbit Xiaomi telefon yang dibawa oleh editor. Pengguna yang berminat datang dan lihat! Di manakah alamat IP telefon bimbit Xiaomi? . Kemudian pada halaman Semua Parameter , slaid ke bawah dan pilih [Maklumat Status] 4. Akhir sekali, anda boleh melihat alamat IP dalam antara muka maklumat status.

Di mana untuk menukar alamat IP Xianyu_Share cara menukar alamat IP Xianyu Di mana untuk menukar alamat IP Xianyu_Share cara menukar alamat IP Xianyu Mar 20, 2024 pm 05:06 PM

Xianyu ialah platform dagangan terpakai yang sangat praktikal Di sini kita boleh membeli pelbagai produk dan menjual barangan terbiar kita sendiri. Bagaimana jika kita ingin mengubah suai alamat kita. Mari lihat dengan editor di bawah! Kongsi cara mengubah suai alamat IP Xianyu Pertama, buka perisian Xianyu Selepas memasuki laman utama, anda boleh melihat pasaran makanan laut, cadangan, alamat dan pilihan lain di sudut kiri atas. 2. Kemudian pada halaman alamat, kami klik [Anak Panah Bawah] di sebelah alamat 3. Selepas klik terakhir, kami klik pada bandar pada halaman pemilihan bandar;

Bagaimana untuk menukar lokasi alamat IP Douyin? Mengapa alamat IP bertukar lokasi? Bagaimana untuk menukar lokasi alamat IP Douyin? Mengapa alamat IP bertukar lokasi? Mar 21, 2024 pm 06:30 PM

Pengguna berkongsi kehidupan mereka, menunjukkan bakat mereka, dan berinteraksi dengan netizen di seluruh negara dan juga dunia melalui Douyin. Sesetengah pengguna ingin menukar alamat IP mereka di Douyin atas sebab seperti perlindungan privasi atau sekatan geografi. Jadi, bagaimanakah alamat IP Douyin menukar lokasinya? 1. Bagaimana untuk menukar lokasi alamat IP Douyin? Pelayan proksi ialah perkhidmatan perantara yang digunakan untuk memajukan permintaan pengguna ke Internet dan mengembalikan respons. Dengan mengkonfigurasi pelayan proksi, pengguna boleh menyembunyikan alamat IP sebenar mereka dan menukar alamat IP mereka. Pendekatan ini membantu melindungi privasi pengguna dan meningkatkan keselamatan rangkaian. Pelayan proksi juga boleh digunakan untuk mengakses kandungan terhad atau memintas sekatan geolokasi. Secara umumnya, menggunakan pelayan proksi ialah alat rangkaian praktikal yang boleh membantu pengguna melayari Internet dengan lebih selamat dan bebas.

Bagaimana untuk membuka fail pendua yang ditapis dalam Quark Bagaimana untuk membuka fail pendua yang ditapis dalam Quark Mar 01, 2024 am 11:25 AM

Apabila menggunakan Quark Browser, terdapat fungsi untuk menapis fail pendua Beberapa rakan tidak begitu biasa dengan ini. 1. Mula-mula, klik "Pelayar Quark" pada telefon bimbit anda untuk memasuki antara muka, kemudian klik dan pilih "Cakera Rangkaian Quark" dalam pilihan di tengah halaman untuk dibuka dan masuk. 2. Cari "Tetapan Sandaran" di bahagian bawah antara muka cakera rangkaian Quark, dan klik untuk membukanya, seperti yang ditunjukkan dalam rajah di bawah: 3. Seterusnya, pada halaman yang anda masukkan, terdapat "Filter Duplicate Files", yang dipaparkan di belakangnya Terdapat butang suis Klik gelangsar bulat padanya dan tetapkannya kepada warna untuk menghidupkan fungsi ini Apabila anda terus membuat sandaran fail, fail pendua akan dilangkau untuk menjimatkan kapasiti cakera rangkaian.

Alamat IP transaksi Bitcoin (Adakah alamat IP transaksi Bitcoin awam?) Alamat IP transaksi Bitcoin (Adakah alamat IP transaksi Bitcoin awam?) Feb 06, 2024 am 10:03 AM

Alamat IP transaksi Bitcoin Alamat IP transaksi Bitcoin adalah komponen penting dan penting dalam sistem transaksi Bitcoin. Ia adalah teras platform dagangan Bitcoin di mana pedagang Bitcoin boleh menjalankan transaksi Bitcoin. Alamat IP transaksi Bitcoin adalah asas sistem transaksi Bitcoin dan asas di mana pedagang Bitcoin boleh menjalankan transaksi Bitcoin. Alamat IP perdagangan Bitcoin ialah alamat rangkaian global yang digunakan untuk mencari pelayan sistem perdagangan Bitcoin dan peranti pedagang. Dengan menanyakan alamat IP transaksi Bitcoin, anda boleh mendapatkan status transaksi dan maklumat berkaitan. Selain itu, alamat IP perdagangan Bitcoin juga boleh digunakan untuk menghubungkan pelanggan kepada sistem perdagangan Bitcoin dan peranti pedagang. Adakah alamat IP transaksi Bitcoin awam? Alamat IP transaksi Bitcoin tidak akan didedahkan kepada umum

Pergi Panduan Ungkapan Biasa: Cara Memadankan Alamat IP Pergi Panduan Ungkapan Biasa: Cara Memadankan Alamat IP Jul 12, 2023 am 11:09 AM

Panduan Go Regular Expressions: Cara Memadankan Alamat IP Pengenalan: Ekspresi biasa ialah alat yang berkuasa untuk memadankan dan mencari corak tertentu dalam rentetan. Dalam bahasa Go, anda boleh menggunakan pakej regexp terbina dalam untuk melaksanakan operasi ekspresi biasa. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa dalam bahasa Go untuk memadankan alamat IP. Format alamat IP: Alamat IP ialah alamat yang terdiri daripada nombor binari 32-bit, biasanya diwakili oleh empat nombor perpuluhan yang dipisahkan setiap nombor perpuluhan berjulat dari 0 hingga 255, contohnya:

See all articles