• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP 安全检测代码片段(分享)_php技巧

php 搞代码 4年前 (2022-01-26) 50次浏览 已收录 0个评论
/**<BR>  <STRONG>* html转换输出(只转义' " 保留Html正常运行)<BR></STRONG>  * @param $param<BR>  * @return string<BR>  */<BR> function htmlEscape($param) {<BR>    return trim(htmlspecialchars($param, ENT_QUOTES));<BR> }<br><br>  /**<BR>  <STRONG>* 是否数组(同时检测数组中是否存在值)<BR></STRONG>  * @param $params<BR>  * @return boolean<BR>  */<BR> function isArray($params) {<BR>     return (!is_array($params) || !count($params)) ? false : true;<BR> } <br><br> /**<BR>  <STRONG>* 变量是否在数组中存在(参数容错, 字符串是否存在于数组中)<BR></STRONG>  * @param $param<BR>  * @param $params<BR>  * @return boolean<BR>  */<BR> function inArray($param, $params) {<BR>    return (!in_array((string)$param, (array)$params)) ? false : true;<BR> }<br><br> /**<BR>  <STRONG>* 通用多类型混合转义函数<BR></STRONG>  * @param $var<BR>  * @param $strip<BR>  * @param $isArray<BR>  * @return mixture<BR>  */<BR> function sqlEscape($var, $strip = true, $isArray = false) {<BR>    if (is_array($var)) {<BR>        if (!$isArray) return " '' ";<BR>        foreach ($var as $key => $value) {<BR>            $var[$key] = trim(S::sqlEscape($value, $strip));<BR>        }<BR>        return $var;<BR>    } elseif (is_numeric($var)) {<BR>         return " '" . $var . "' ";<BR>    } else {<BR>        return " '" . addslashes($strip ? stripslashes($var) : $var) . "' ";<BR>    }<BR>}<br><br>     /**<BR>      <STRONG>* 获取服务器变量<BR></STRONG>      * @param $keys<BR>      * @return string<BR>      */<BR>     function getServer($keys) {<BR>         $server = array();<BR>         $array = (array) $keys;<BR>         foreach ($array as $key) {<BR>             $server[$key] = NULL;<BR>             if (isset($_SERVER[$key])) {<BR>                 $server[$key] = str_replace(array('','"',"'",'%3C','%3E','%22','%27','%3c','%3e'), '', $_SERVER[$key]);<BR>             }<BR>         }<BR>         return is_array($keys) ? $server : $server[$keys];<BR>     }<br><br>     /**<BR>      <STRONG>* 变量转义<BR></STRONG>      * @param $array<BR>      */<BR>     function slashes(&$array) {<BR>         if (is_array($array)) {<BR>             foreach ($array as $key => $value) {<BR>                 if (is_array($value)) {<BR>                     S::slashes($array[$key]);<BR>                 } else {<BR>                     $array[$key] = addslashes($value);<BR>                 }<BR>             }<BR>         }<BR>     }<br><br>     /**<BR>      <STRONG>* 目录转换<BR></STRONG>      * @param unknown_type $dir<BR>      * @return string<BR>      */<BR>     function escapeDir($dir) {<BR>         $dir = str_replace(array("'",'#','=','`','$','%','&',';'), '', $dir);<BR>         return rtrim(preg_replace('/(\/){2,}|(\\\){1,}/', '/', $dir), '/');<BR>     }<BR>     /**<BR>      <STRONG>* 通用多类型转换<BR></STRONG>      * @param $mixed<BR>      * @param $isint<BR>      * @param $istrim<BR>      * @return mixture<BR>      */<BR>     function escapeChar($mixed, $isint = false, $istrim = false) {<BR>         if (is_array($mixed)) {<BR>             foreach ($mixed as $key => $value) {<BR>                 $mixed[$key] = S::escapeChar($value, $isint, $istrim);<BR>             }<BR>         } elseif ($isint) {<BR>             $mixed = (int) $mixed;<BR>         } elseif (!is_numeric($mixed) && ($istrim ? $mixed = trim($mixed) : $mixed) && $mixed) {<BR>             $mixed = S::escapeStr($mixed);<BR>         }<BR>         return $mixed;<BR>     }<BR>     /**<BR>      <STRONG>* 字符转换<BR></STRONG>      * @param $string<BR>      * @return string<BR>      */<BR>     function escapeStr($string) {<BR>         $string = str_replace(array("\0","%00","\r"), '', $string); //modified@2010-7-5<BR>         $string = preg_replace(array('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','/&(?!(#[0-9]+|[a-z]+);)/is'), array('', '&'), $string);<BR>         $string = str_replace(array("%3C",'<'), '<', $string);<BR>         $string = str_replace(array("%3E",'>'), '>', $string);<BR>         $string = str_replace(array('"',"'","\t",'  '), array('"',''','    ','  '), $string);<BR>         return $string;<BR>     }<BR>     /**<BR>      <STRONG>* 变量检查<BR></STRONG>      * @param $var<BR>      */<BR>     function checkVar(&$var) {<BR>         if (is_array($var)) {<BR>             foreach ($var as $key => $value) {<BR>                 S::checkVar($var[$key]);<BR>             }<BR>         } elseif (P_W != 'admincp') {<BR>             $var = str_replace(array('..',')','<','='), array('..',')','<','='), $var);<BR>         } elseif (str_replace(array('<iframe','<meta','<script'), '', $var) != $var) {<BR>             global $basename;<BR>             $basename = 'java<b style="color:transparent">本文来源gao@!dai!ma.com搞$$代^@码!网!</b><strong>搞gaodaima代码</strong>script:history.go(-1);';<BR>             adminmsg('word_error');<BR>         }<BR>     }<BR>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP 安全检测代码片段(分享)_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址