亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

一段小代碼實現PHP語言程序授權

標簽:
PHP

<?php
// 限制域名测试
$domain = ‘2.baidu.com’;
$domain_list = ‘*.baidu.com,qq.com’;
if (in_host ( $domain, $domain_list )) {
echo (‘domain in’);
} else {
echo (‘domain is not in’);
}

// 限制IP测试
$host = ‘127.1.1.88’;
$list = ‘127.0.0.,192.168.1.1,192.168.1.70,127.1.1.33-127.1.1.100’;
if (in_host ( $host, $list )) {
echo (‘ip in’);
} else {
echo (‘ip is not in’);
}
/
*

  • HOST访问限制 支持 IP(单IP,多IP,通配符,IP段) 域名(单域名,多域名,通配符)

  • 根据判断实现IP地址 白名单黑名单

  • Author:@Aler

  • @param unknown $host 当前host 127.0.0.2

  • @param unknown $list 允许的host列表 127.0.0.*,192.168.1.1,192.168.1.70,127.1.1.33-127.1.1.100

  • @return boolean
    /
    function in_host($host, $list) {
    $list = ‘,’ . $list . ‘,’;
    $is_in = false;
    // 1.判断最简单的情况
    $is_in = strpos ( $list, ‘,’ . $host . ‘,’ ) === false ? false : true;
    // 2.判断通配符情况
    if (! $is_in && strpos ( $list, ‘
    ’ ) !== false) {
    $hosts = array ();
    $hosts = explode ( ‘.’, $host );
    // 组装每个 * 通配符的情况
    foreach ( $hosts as $k1 => $v1 ) {
    $host_now = ”;
    foreach ( $hosts as $k2 => $v2 ) {
    $host_now .= ($k2 == $k1 ? ‘*’ : $v2) . ‘.’;
    }
    // 组装好后进行判断
    if (strpos ( $list, ‘,’ . substr ( $host_now, 0, – 1 ) . ‘,’ ) !== false) {
    $is_in = true;
    break;
    }
    }
    }
    // 3.判断IP段限制
    if (! $is_in && strpos ( $list, ‘-‘ ) !== false) {
    $lists = explode ( ‘,’, trim ( $list, ‘,’ ) );
    $host_long = ip2long ( $host );
    foreach ( $lists as $k => $v ) {
    if (strpos ( $v, ‘-‘ ) !== false) {
    list ( $host1, $host2 ) = explode ( ‘-‘, $v );
    if ($host_long >= ip2long ( $host1 ) && $host_long <= ip2long ( $host2 )) {
    $is_in = true;
    break;
    }
    }
    }
    }
    return $is_in;
    }



作者:大爽兔
链接:https://www.jianshu.com/p/c3ab88f25478

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消