コードをコピー コードは次のとおりです:
//PHP サイト全体のアンチインジェクション プログラム、これは公開ファイルにある必要があります require_once このファイル
//magic_quotes_gpc ステータスを判断します
if (@get_magic_quotes_gpc ()) {
$_GET = sec ( $_GET );
$_POST = sec ( $_POST );
$ _COOKIE = 秒 ( $_FILES );
$_SERVER = 秒 ( $_SERVER ); &$array) {
//配列の場合は、配列を走査して再帰的に呼び出します。
if (is_array ( $array )) {
foreach ( $array as $k => $v ) {
$array [$k] = sec ( $v );
}
} else if (is_string ( $array )) {
//addslashes 関数を使用して
$ を処理しますarray = addlashes ( $array );
} else if (is_numeric ( $array )) {
$array = intval ( $array );
return $array; 🎜>//整数フィルタ関数
function num_check($id) {
if (! $id) {
die ( 'パラメータを空にすることはできません!' )
} // かどうかを判断しますis empty
else if (inject_check ( $ id )) {
die ( 'Illegalparameter' );
} //インジェクション判定
else if (! is_numetic ( $id )) {
die ( '不正なパラメータ' );
}
//数値判定
$id = intval ($id);
//整数化
return $id; 🎜>//文字フィルター関数
function str_check($str) {
if (inject_check ( $str )) {
die ( 'illegal pattern' )
// インジェクション判定
$str = htmlspecialchars ( $str );
//HTML を変換
return $str;
}
function search_check($str) {
$str = str_replace ( " _", "_", $str );
// "_" を除外します
$str = str_replace ( "%", "%", $str );
// "% を除外します"
$str = htmlspecialchars ( $str );
// html を変換
return $str;
}
// フォームフィルター関数
function post_check($str, $min , $max) {
if (isset ( $min ) && strlen ( $str ) < $min) {
die ( '最小 $min バイト' )
} else if (isset ( $ max ) && strlen ( $ str ) > $max) {
die ( '$max バイトまで' )
}
returntripslashes_array ( $str )
/ /アンチインジェクション関数
function inject_check($sql_str) {
return eregi ( 'select|inert|update|delete|'|/*|*|../|./|UNION|into|load_file| outfile', $sql_str );
// www.jb51.net フィルタリングしてインジェクションを防止します
}
functiontripslashes_array(&$array) {
if (is_array ( $array )) {
foreach ( $array as $k => $v ) {
$array [$k] =tripslashes_array ( $v );
}
} else if (is_string ( $array )) {
$array = ストリップスラッシュ ( $array );
return $array
}
?>