Rumah pembangunan bahagian belakang tutorial php 屏蔽国内IP,访问需要进行身份验证解决思路

屏蔽国内IP,访问需要进行身份验证解决思路

Jun 13, 2016 pm 01:33 PM
empty location quot tmp

屏蔽国内IP,访问需要进行身份验证
有一外贸网站想屏蔽国内IP,但我们自己需要管理和允许特定的国内用户访问所以要进行身份验证,请问这样的功能要怎样实现呢?第一次发帖,请大家多关注!谢谢!

------解决方案--------------------
可以做个页面,在用户访问时,
1.获取用户的IP
2.然后到开放的IP接口去查询用户的地理位置(例如新浪、网易、ip138,都有开放的ip查询接口)
3.有了用户的地理位置,再决定是屏蔽之,还是验证之
------解决方案--------------------

PHP code

function sina($ip)
{
    $php_runtime = microtime(TRUE);
    $str = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);
    $tmp = explode("    ",$str);
    (isset($tmp[4]) && !empty($tmp[4])) ? $location['country'] = $tmp[4] : $location['country'] = null;
    (isset($tmp[5]) && !empty($tmp[5])) ? $location['city'] = $tmp[5] : $location['city'] = null;
    (empty($tmp[6]) || !preg_match("/电/",$str) || !preg_match("/通/",$str)) ? $location['sp'] = $tmp[7] : $location['sp'] = $tmp[6];

    $location['time'] = microtime(TRUE) - $php_runtime;
    if(!empty($location))
        return $location;
    else
        return false;
}
<br><font color="#e78608">------解决方案--------------------</font><br>通过用户来访的IP地址可以算出该IP属于哪个子网,如110.80.0.0/13<br>将全中国可划分的子网存在一个数组中,判断是否在这个数组中就行了。<br><br>不需要再去其他接口查询地址,然后根据地址或运营商的名字来判断,反而麻烦。<br>PS:这个数组不大,不到800条。<br><br>换算的方法请看此页面:http://url.cn/0TCFrY  内附全中国可划分子网的excel下载<br><br>
<br><font color="#e78608">------解决方案--------------------</font><br>ftp://ftp.apnic.net/public/apnic/stats/apnic/delegated-apnic-latest<br><br>apnic|CN|ipv4|180.212.0.0|131072|20091001|allocated<br><br>这就是国内的. 分析提取. 然后过滤IP就可以了 <div class="clear">
                 
              
              
        
            </div>
Salin selepas log masuk
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)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 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)

Prinsip pembersihan folder /tmp/ dalam sistem Linux dan peranan fail tmp Prinsip pembersihan folder /tmp/ dalam sistem Linux dan peranan fail tmp Dec 21, 2023 pm 05:36 PM

Kebanyakan fail .tmp adalah fail yang ditinggalkan kerana penutupan atau ranap yang tidak normal Cakera calar sementara ini tidak berguna selepas anda memulakan semula komputer, jadi anda boleh memadamkannya dengan selamat. Apabila anda menggunakan sistem pengendalian Windows, anda mungkin sering menemui beberapa fail dengan akhiran TMP dalam direktori akar pemacu C, dan anda juga akan menemui direktori TEMP dalam direktori Windows adalah fail sementara yang dijana oleh pelbagai perisian atau sistem, juga dikenali sebagai fail sampah. Fail sementara yang dijana oleh Windows pada asasnya adalah sama dengan memori maya, kecuali fail sementara lebih disasarkan daripada memori maya dan hanya melayani program tertentu. Dan kekhususannya telah menyebabkan ramai orang baru takut dengannya dan tidak memadamkannya.

Apakah maksud tmp dalam linux Apakah maksud tmp dalam linux Mar 10, 2023 am 09:26 AM

Di Linux, tmp merujuk kepada folder yang menyimpan fail sementara Folder ini mengandungi fail sementara yang dibuat oleh sistem dan pengguna had masa lalai folder tmp ialah 30 hari dipadamkan oleh sistem.

Analisis contoh konfigurasi lokasi dalam pelayan Nginx Analisis contoh konfigurasi lokasi dalam pelayan Nginx May 24, 2023 pm 02:05 PM

Mula-mula, izinkan saya memperkenalkan secara ringkas jenis lokasi dan peraturan pemadanan, menggunakan contoh nginxwiki sebagai contoh: location=/{#matchesthequery/only.[configurationa]}location/{#matchesanyquery,sinceallqueriesbeginwith/,butregular#expressionsandanylongerconventionalblockswillbe#matchedfirst .[ konfigurasib]}lokasi^~/im

Bagaimana untuk mengakses dan membersihkan fail sampah dalam direktori /tmp dalam CentOS 7? Bagaimana untuk mengakses dan membersihkan fail sampah dalam direktori /tmp dalam CentOS 7? Dec 27, 2023 pm 09:10 PM

Terdapat banyak sampah dalam direktori tmp dalam sistem centos7 Jika anda ingin membersihkan sampah, bagaimanakah anda harus melakukannya? Mari kita lihat tutorial terperinci di bawah. Untuk melihat senarai fail dalam direktori fail tmp, laksanakan perintah cdtmp/ untuk beralih kepada direktori fail semasa tmp, dan laksanakan arahan ll untuk melihat senarai fail dalam direktori semasa. Seperti yang ditunjukkan di bawah. Gunakan arahan rm untuk memadam fail Perlu diingatkan bahawa arahan rm memadam fail dari sistem selama-lamanya, adalah disyorkan apabila menggunakan arahan rm, sebaiknya berikan gesaan sebelum memadam fail. Gunakan arahan rm-i nama fail, tunggu pengguna mengesahkan pemadaman (y) atau langkau pemadaman (n), dan sistem akan melakukan operasi yang sepadan. Seperti yang ditunjukkan di bawah.

Apakah fail TmP? Apakah fail TmP? Dec 25, 2023 pm 03:39 PM

Fail "tmp" ialah fail sementara, biasanya dijana oleh sistem pengendalian atau program semasa operasi, dan digunakan untuk menyimpan data sementara atau hasil perantaraan apabila atur cara berjalan. Fail ini digunakan terutamanya untuk membantu program dijalankan dengan lancar, tetapi ia biasanya dipadamkan secara automatik selepas program dilaksanakan. Fail tmp biasanya boleh ditemui dalam direktori akar pemacu C pada sistem Windows. Walau bagaimanapun, fail tmp dikaitkan dengan aplikasi atau sistem tertentu, jadi kandungan dan tujuan khusus mereka mungkin berbeza dari aplikasi ke aplikasi.

Apakah fail tmp Apakah fail tmp Feb 22, 2023 pm 02:35 PM

tmp ialah fail sementara yang dihasilkan oleh pelbagai perisian atau sistem, yang sering dipanggil fail sampah. Biasanya, program yang mencipta fail sementara memadamkannya apabila ia selesai, tetapi kadangkala fail ini disimpan. Mungkin terdapat banyak sebab mengapa fail sementara dikekalkan: program mungkin terganggu sebelum melengkapkan pemasangan, atau ranap semasa memulakan semula fail ini secara amnya mempunyai sedikit nilai kegunaan, dan kami boleh memadamkannya secara langsung.

Bagaimana untuk memintas uri di lokasi nginx Bagaimana untuk memintas uri di lokasi nginx May 18, 2023 pm 12:07 PM

Nota: Arahan akar dan akar alias di lokasi hanya menetapkan akar carian ke direktori yang ditetapkan oleh akar, iaitu uri tidak akan dipotong Sebaliknya, uri asal akan digunakan untuk melompat ke direktori untuk mencari fail Arahan aias akan memotong uri yang sepadan, dan kemudian Gunakan laluan yang ditetapkan oleh alias ditambah dengan baki uri sebagai sub-laluan untuk mencari uri proxy_pass di lokasi Jika url proxy_pass tidak mempunyai uri, jika ekornya ialah "/. ", uri yang sepadan akan dipotong. Jika ekornya bukan "/", maka Tidak akan memotong uri yang sepadan jika url proxy_pass mengandungi uri

PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan Mar 21, 2024 pm 09:21 PM

Artikel ini akan menerangkan secara terperinci bagaimana PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan Editor berpendapat ia sangat praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan: Dalam PHP, terdapat banyak cara untuk menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan: 1. Gunakan fungsi isset(): isset($array["key"]) Fungsi ini mengembalikan nilai Boolean, benar jika kunci yang ditentukan wujud, palsu sebaliknya. 2. Gunakan fungsi array_key_exists(): array_key_exists("key",$arr

See all articles