加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

分享自定义的几个PHP功能函数

发布时间:2020-12-12 20:49:59 所属栏目:PHP教程 来源:网络整理
导读:最近不是在折腾论坛嘛,各种类各种函数,原创一些,从别人那儿qiang过来一些,在此分享出来,希望有朋友能用的到~ 注意:部分函数可能不够完善,由此造成的漏洞风险自担~ 提交过滤 /i',$text); //反转换 $text = str_replace('[',' ',$text); $text = str_re

最近不是在折腾论坛嘛,各种类各种函数,原创一些,从别人那儿qiang过来一些,在此分享出来,希望有朋友能用的到~

注意:部分函数可能不够完善,由此造成的漏洞风险自担~

提交过滤

/','',$text); //完全过滤js $text = preg_replace('//',$text); //过滤危险的属性,如:过滤on事件lang js while (preg_match('/(<[^><]+)( lang|action|background|codebase|dynsrc|lowsrc)[^><]+/i',$text,$mat)) { $text = str_replace($mat[0],$mat[1],$text); } while (preg_match('/(<[^><]+)(window.|javascript:|js:|about:|file:|document.|vbs:|cookie)([^><]*)/i',$mat[1] . $mat[3],$text); } //过滤多余html $text = preg_replace('/<]*>/i',$text); //反转换 $text = str_replace('[','<',$text); $text = str_replace(']','>',$text); $text = str_replace('|','"',$text); return $text; }

提交过滤2

字符串截取(这个是emlog里提出来的,其实也就是substr的增强版)

= 128) $char++; } $str2 = substr($strings,$length + 1); $str3 = substr($strings,$length + 2); if ($char % 3 == 1) { if ($length <= strlen($strings)) { $str3 = $str3 .= '...'; } return $str3; } if ($char % 3 == 2) { if ($length <= strlen($strings)) { $str2 = $str2 .= '...'; } return $str2; } if ($char % 3 == 0) { if ($length <= strlen($strings)) { $str = $str .= '...'; } return $str; } }

IP地址匿名化(最后一位替换为星号)

获取客户端IP地址

字符串加密(支持中文)

$dynKey = $isEncrypt ? hash('sha1',microtime(true)) : substr($string,40);
$fixedKey = hash('sha1',$key);

$dynKeyPart1 = substr($dynKey,20);
$dynKeyPart2 = substr($dynKey,20);
$fixedKeyPart1 = substr($fixedKey,20);
$fixedKeyPart2 = substr($fixedKey,20);
$key = hash('sha1',$dynKeyPart1 . $fixedKeyPart1 . $dynKeyPart2 . $fixedKeyPart2);

$string = $isEncrypt ? $fixedKeyPart1 . $string . $dynKeyPart2 : (isset($string{339}) ? gzuncompress(base64_decode(substr($string,40))) : base64_decode(substr($string,40)));

$n = 0;
$result = '';
$len = strlen($string);

for ($n = 0; $n < $len; $n++) {
$result .= chr(ord($string{$n}) ^ ord($key{$n % 40}));
}
return $isEncrypt ? $dynKey . str_replace('=',base64_encode($n > 299 ? gzcompress($result) : $result)) : substr($result,20,-20);
}

检查字符串是否包含中文

隐藏文件真实路径

生成随机字符串,自定义长度

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读