ホームページ  >  記事  >  バックエンド開発  >  PHP セキュリティ検出コード スニペット (共有)_PHP チュートリアル

PHP セキュリティ検出コード スニペット (共有)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:01:171203ブラウズ

コードをコピーします コードは次のとおりです:

/**
* HTML 変換出力 (HTML を正常に実行し続けるためにエスケープ ' " のみ)
* @param $param
* @return string
*/
function htmlEscape($param) {
return trim(htmlspecialchars($param, ENT_QUOTES));
}

/**
* 配列かどうか(配列に値があるかどうかを確認しながら)
* @param $params
* @return boolean
*/
function isArray($params) {
return (!is_array($params) || !count($params)) ? false : true;
}

/**
* 変数が配列内に存在するかどうか(パラメータ許容値、文字列が配列内に存在するかどうか)
* @param $param
* @param $params
* @return boolean
*/
function inArray($param, $params) {
return (!in_array((string)$param, (array)$params)) ? false : true;
}

/**
* ユニバーサル多型混合エスケープ関数
* @param $var
* @param $strip
* @param $isArray
* @returnmixture
*/
function sqlEscape($var, $strip = true, $isArray = false) {
if (is_array($var)) {
if (!$isArray ) return " '' ";
foreach ($var as $key => $value) {
$var[$key] =rim(S::sqlEscape($value, $strip));
}
return $ var;
} elseif (is_numeric($var)) {
return " '" 。 $var 。 "' ";
} else {
return " '" 。 addedlashes($strip ?tripslashes($var) : $var) 。 "' ";
}
}

/**
* サーバー変数を取得します
*/
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];
}

/**
*/
関数スラッシュ(&$array) {
if (is_array($array )) { foreach ($array as $key => $value) {
if (is_array($value)) {
S::slashes($array[$key]);
} else {
$array[ $key] =addslashes($value);
}
}
}
}

/**​​​​*/
functionscapeDir($dir) {
$dir = str_replace(array("'",'# ','=','`','$','%','&',';'), '', $dir);
return rtrim(preg_replace('/(/){2,}| (\){1,}/', '/', $dir), '/');
}
/**​​​​*/
functionscapeChar($mixed, $isint = false, $istrim = false) { if (is_array( $ mixed){
foreach($ mixed as $ key =&gt; $ value){
$ mixed [$ key] = s :: escapechar($ value、$ isint、$ istrim); isint) {
$mixed = (int) $mixed;
} elseif (!is_numeric($mixed) && ($istrim ? $mixed = トリム($mixed) : $mixed) && $mixed) {
$mixed = S ::escapeStr($mixed);
}
return $mixed;
}
/**​​​*/
functionscapeStr($string) {
$string = str_replace(array(" ","%00", "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;
}
/**
*/
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('
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。