php检查函数

来源:互联网 发布:centos 高可用 编辑:程序博客网 时间:2024/05/15 13:49
<?php
//安全协议判断
functionssl()
{
    if(isset($_SERVER['HTTPS']) && ('1'== $_SERVER['HTTPS'] || 'on'== strtolower($_SERVER['HTTPS']))) {
        returntrue;
    }elseif(isset($_SERVER['SERVER_PORT']) && ('443'== $_SERVER['SERVER_PORT'])) {
        returntrue;
    }
    returnfalse;
}
// 代理访问检测
functionproxy()
{
    if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) || !empty($_SERVER['HTTP_VIA']) || !empty($_SERVER['HTTP_PROXY_CONNECTION']) || !empty($_SERVER['HTTP_USER_AGENT_VIA'])) {
        returntrue;
    }
    returnfalse;
}
//机器人检测
functionrobot()
{
    static$_robot = null;
    if(is_null($_robot)) {
        $spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';
        $browsers= 'MSIE|Netscape|Opera|Konqueror|Mozilla';
        if(preg_match("/($browsers)/",$_SERVER['HTTP_USER_AGENT'])) {
            $_robot= false;
        }elseif(preg_match("/($spiders)/",$_SERVER['HTTP_USER_AGENT'])) {
            $_robot= true;
        }else{
            $_robot= false;
        }
    }
    return$_robot;
}
 
//浏览器检查
functionbrowser($browser= '')
{
    $browsers= array(
        ".*opera[ /]([0-9.]{1,10})" => "opera",
        ".compatible; MSIE[ /]([0-9.]{1,10}).*" => "ie",
        ".*Firefox/([0-9.+]{1,10})"=> "firefox",
        ".Version/([0-9.+]{1,10})"=> "safari",
        ".Chrome/([0-9.+]{1,10})"=> "chrome"
    );
 
    $browser_info= array();
    foreach($browsersas $match => $browser_name) {
        if(preg_match('#'. $match. '#i',$_SERVER["HTTP_USER_AGENT"],$matches)) {
            $browser_info[] = $browser_name;
            $browser_info[] = $matches[1];
            $browser_info[] = $browser_name. ' ' . $matches[1];
        }
    }
    return$browser_info;
     
}
 
// 判断Ajax方式提交   
functionajax()
{
    if(isset($_SERVER['HTTP_X_REQUESTED_WITH'])) {
        if('xmlhttprequest'== strtolower($_SERVER['HTTP_X_REQUESTED_WITH']))
            returntrue;
    }
    returnfalse;
}
functionurl($v,$filter=false)
{
    if($filter)$v= filter_var($v, FILTER_SANITIZE_URL);
    if(filter_var($v, FILTER_VALIDATE_URL)) {
        return$v;
    }else{
        returnfalse;
    }
}
functionip($v)
{
    if(filter_var($v, FILTER_VALIDATE_IP)) {
        return$v;
    }else{
        returnfalse;
    }
}
functionemail($v,$filter=false)
{
    if($filter)$v= filter_var($v, FILTER_SANITIZE_EMAIL);
    if(filter_var($v, FILTER_VALIDATE_EMAIL)) {
        return$v;
    }else{
        returnfalse;
    }
}
 
 
 
 
//身份证检查
functioncard($id_card)
{
    include_once('card.php');
    if(strlen($id_card) == 18 && idcard_checksum18($id_card)) {
        return$id_card;
    }elseif(strlen($id_card) == 15) {
        $id_card2= idcard_15to18($id_card);
        if(idcard_checksum18($id_card2)) {
            return$id_card;
        }else{
            returnfalse;
        }
    }else{
        returnfalse;
    }
}
 
//银行卡号检查
//位数16-20
functionbank_card($card)
{
   if(!preg_match('#^\d{16,20}$#',$card)) {
        returnfalse;
    }
    $return='';
    $arr= include_once('bank_card.php');
    foreach($arras $k => $v) {
        if(preg_match('#'.$k.'#U',$card)){
            $v=explode('-',$v,3);
            $return['card']=$card;
            $return['name']=$v[0];
            $return['type']=$v[2];
            return$return;
        }
             
    }
    returnfalse;
}
 
//手机号码检查
functionshouji($phone)
{
    if(preg_match('#^1[3458]{1}\d{9}$#',$phone)) {
        return$phone;
    }else{
        returnfalse;
    }
}
 
 
 
//检查字符
functionchar($char,$length='1,6',$charlist='')
{
    if(empty($charlist)) {
        $charlist='A-Za-z0-9_';
    }
    if(preg_match('#^['.$charlist.']{'.$length.'}$#',$char)){
        return$char;
    }else{
        returnfalse;
    }
}
 
 
//检查验证码
functionyzm($yzm)
{
    if(empty($_SESSION['code']) || empty($yzm)) {
        returnfalse;
    }
    if($_SESSION['code'] == substr(md5(strtolower($yzm)), 8, 28)) {
        returntrue;
    }else{
        returnfalse;
    }
}
0 0
原创粉丝点击