源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-01-29 01:19 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP 安全检测代码片段(分享)
[u]复制代码[/u] 代码如下:
/**  [b]* html转换输出(只转义' " 保留Html正常运行) [/b]  * @param $param   * @return string   */  function htmlEscape($param) {     return trim(htmlspecialchars($param, ENT_QUOTES));  }   /**  [b]* 是否数组(同时检测数组中是否存在值) [/b]  * @param $params   * @return boolean   */  function isArray($params) {      return (!is_array($params) || !count($params)) ? false : true;  }  /**  [b]* 变量是否在数组中存在(参数容错, 字符串是否存在于数组中) [/b]  * @param $param   * @param $params   * @return boolean   */  function inArray($param, $params) {     return (!in_array((string)$param, (array)$params)) ? false : true;  }  /**  [b]* 通用多类型混合转义函数 [/b]  * @param $var   * @param $strip   * @param $isArray   * @return mixture   */  function sqlEscape($var, $strip = true, $isArray = false) {     if (is_array($var)) {         if (!$isArray) return " '' ";         foreach ($var as $key => $value) {             $var[$key] = trim(S::sqlEscape($value, $strip));         }         return $var;     } elseif (is_numeric($var)) {          return " '" . $var . "' ";     } else {         return " '" . addslashes($strip ? stripslashes($var) : $var) . "' ";     } }      /**      [b]* 获取服务器变量 [/b]      * @param $keys       * @return string       */      function getServer($keys) {          $server = array();          $array = (array) $keys;          foreach ($array as $key) {              $server[$key] = NULL;              if (isset($_SERVER[$key])) {                  $server[$key] = str_replace(array('<','>','"',"'",'%3C','%3E','%22','%27','%3c','%3e'), '', $_SERVER[$key]);              }          }          return is_array($keys) ? $server : $server[$keys];      }      /**      [b]* 变量转义 [/b]      * @param $array       */      function slashes(&$array) {          if (is_array($array)) {              foreach ($array as $key => $value) {                  if (is_array($value)) {                      S::slashes($array[$key]);                  } else {                      $array[$key] = addslashes($value);                  }              }          }      }      /**      [b]* 目录转换 [/b]      * @param unknown_type $dir       * @return string       */      function escapeDir($dir) {          $dir = str_replace(array("'",'#','=','`','$','%','&',';'), '', $dir);          return rtrim(preg_replace('/(\/){2,}|(\\\){1,}/', '/', $dir), '/');      }      /**      [b]* 通用多类型转换 [/b]      * @param $mixed       * @param $isint       * @param $istrim       * @return mixture       */      function escapeChar($mixed, $isint = false, $istrim = false) {          if (is_array($mixed)) {              foreach ($mixed as $key => $value) {                  $mixed[$key] = S::escapeChar($value, $isint, $istrim);              }          } elseif ($isint) {              $mixed = (int) $mixed;          } elseif (!is_numeric($mixed) && ($istrim ? $mixed = trim($mixed) : $mixed) && $mixed) {              $mixed = S::escapeStr($mixed);          }          return $mixed;      }      /**      [b]* 字符转换 [/b]      * @param $string       * @return string       */      function escapeStr($string) {          $string = str_replace(array("\0","","\r"), '', $string); //modified@2010-7-5          $string = preg_replace(array('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','/&(?!(#[0-9]+|[a-z]+);)/is'), array('', '&'), $string);          $string = str_replace(array("%3C",'<'), '<', $string);          $string = str_replace(array("%3E",'>'), '>', $string);          $string = str_replace(array('"',"'","\t",'  '), array('"',''','    ','  '), $string);          return $string;      }      /**      [b]* 变量检查 [/b]      * @param $var       */      function checkVar(&$var) {          if (is_array($var)) {              foreach ($var as $key => $value) {                  S::checkVar($var[$key]);              }          } elseif (P_W != 'admincp') {              $var = str_replace(array('..',')','<','='), array('..',')','<','='), $var);          } elseif (str_replace(array('<iframe','<meta','<script'), '', $var) != $var) {              global $basename;              $basename = 'javascript:history.go(-1);';              adminmsg('word_error');          }      }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部