php下过滤html代码的函数 提升程序安全性

array($string)) {,以下为过滤HTML代码的函数,array($string)) {,if(is,这些函数还算是在比较多的项目中使用到的,以下一些php函数是我们it动力最常用的项目开发函数

以下为过滤HTML代码的函数:
复制代码 代码如下:
function ihtmlspecialchars($string) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = ihtmlspecialchars($val);
}
} else {
$string =
preg_replace(‘/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[澳门京葡网站,a-zA-Z][a-z0-9]{2,5});)/’,
‘&\\1’,
str_replace(array(‘&’, ‘”‘, ”), array(‘&’, ‘”‘, ”), $string));
}
return $string;
}

但是大家能够用正则实行调换:
复制代码 代码如下:
function dhtmlspecialchars($string) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = dhtmlspecialchars($val);
}
} else {
$string =
preg_replace(‘/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/’,
‘&\\1’,
str_replace(array(‘&’, ‘”‘, ”), array(‘&’, ‘”‘, ”), $string));
}
return $string;
}
?>

以下一些php函数是大家it重力最常用的品类支付函数,这个函数还算是在可比多的类型中动用到的,也是比较通用的。
1.呼吁接口的管理函数 复制代码 代码如下:
/**
 * curl访谈程序接口
 * @param string
 * @return array
 */ 
function getCurlDate($url, $datas, $key) { 
    $datas[‘time’] = $_SERVER[‘REQUEST_TIME’] + 300; 
    $post_data[‘post’] = urlencode(authcode(serialize($datas),
“ENCODE”, $key)); 
//    echo $url; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    // 我们在POST数据哦! 
    curl_setopt($ch, CURLOPT_POST, 1); 
    // 把post的变量加上 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); 
    $output = curl_exec($ch); 
 //   dump(curl_error($ch)); 
    curl_close($ch); 
    return json_decode($output, true); 

php下过滤HTML代码的函数
复制代码 代码如下:
function htmlEncode($string) {
$string=trim($string);
$string=str_replace(“&”,”&”,$string);
$string=str_replace(“‘”,”‘”,$string);
$string=str_replace(“&”,”&”,$string);
$string=str_replace(“””,”””,$string);
$string=str_replace(“\””,”””,$string);
$string=str_replace(“$string=str_replace(“$string=str_replace(“>”,”>”,$string);
$string=str_replace(“>”,”>”,$string);
$string=str_replace(” “,” “,$string);
$string=nl2br($string);
return $string;
}

2.收获文件扩充名 复制代码 代码如下:
/**
 * @获取文件增添名
 * @$pic string 图片路线
 */ 
function get_file_ext($pic) { 
    return substr($pic, strrpos($pic, ‘.’) + 1); 

3.可逆的加密、解密函数 复制代码 代码如下:
/**
 * 字符串加密
 * @param   $string     需加密的字符
 * @param   $operation  加密或解密
 * @param   $key        网址加密key,幸免破解
 * @return  string
 */ 
function authcode($string, $operation = ‘DECODE’, $key = ”, $expiry =
0) { 
    $ckey_length = 4; 
    $key = md5($key ? $key : ‘^www.itokit.com$’); 
    $keya = md5(substr($key, 0, 16)); 
    $keyb = md5(substr($key, 16, 16)); 
    $keyc = $ckey_length ? ($operation == ‘DECODE’ ? substr($string, 0,
$ckey_length) : substr(md5(microtime()), -$ckey_length)) : ”; 

    $cryptkey = $keya . md5($keya . $keyc); 
    $key_length = strlen($cryptkey); 

    $string = $operation == ‘DECODE’ ? base64_decode(substr($string,
$ckey_length)) : sprintf(‘%010d’, $expiry ? $expiry + time() : 0) .
substr(md5($string . $keyb), 0, 16) . $string; 
    $string_length = strlen($string); 

    $result = ”; 
    $box = range(0, 255); 

    $rndkey = array(); 
    for ($i = 0; $i <= 255; $i++) { 
        $rndkey[$i] = ord($cryptkey[$i % $key_length]); 
    } 

    for ($j = $i = 0; $i < 256; $i++) { 
        $j = ($j + $box[$i] + $rndkey[$i]) % 256; 
        $tmp = $box[$i]; 
        $box[$i] = $box[$j]; 
        $box[$j] = $tmp; 
    }