ホームページ >php教程 >php手册 >わかりやすい PHP アンチインジェクション コード

わかりやすい PHP アンチインジェクション コード

WBOY
WBOYオリジナル
2016-06-13 12:17:271092ブラウズ

2 つの方法を紹介します。まず、次のコードを Web サイトのルート ディレクトリに保存し、各 php ファイルの前に include(“/safe.php“); を追加します。
php アンチインジェクション コード メソッド 1:

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

< ;?php

//フィルタリングされる不正な文字
$ArrFiltrate=array(”'”,”;”,”union”);
//エラーが発生した場合にリダイレクトされる URL入力されていない場合は、前のページがデフォルトになります。
$StrGoUrl=””
//配列に値があるかどうか
function FunStringExist($StrFiltrate,$ArrFiltrate){
foreach ( $ArrFiltrate as $key=>$value){
if (eregi($value,$StrFiltrate)){
return true;
}
}
return
}
// $_POST と $_GET をマージします
if(function_exists(array_merge)){
$ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS)
}else{
foreach($) HTTP_POST_VARS as $key=>$value){
$ArrPostAndGet[]=$value;
}
foreach($HTTP_GET_VARS as $key=>$value){
$ArrPostAndGet[] =$value;
}
}
//検証が開始されます
foreach($ArrPostAndGet as $key=>$value){
if (FunStringExist($value,$ArrFiltrate)) {
echo “";
if (emptyempty($StrGoUrl)){
echo "< script language="javascript">history.go( -1);”
}else{
echo “ ";
}
終了;
}
}
?>


phpアンチインジェクション コードの方法 2:

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

/* Filter all GET変数*/

foreach ($_GET as $get_key=> ;$get_var)
{
if (is_numeric($get_var)) {
$get[strto lower($get_key)] = get_int( $get_var);
} else {
$get [strto lower($get_key)] = get_str($get_var)
}
}
/* すべての POST 変数をフィルタリングします*/
foreach ($_POST as $post_key=>$post_var )
{
if (is_numeric($post_var)) {
$post[strto lower($post_key)] = get_int($post_var); 🎜>} else {
$post[strto lower( $post_key)] = get_str($post_var);
}
}
/* フィルター関数*/
// 整数フィルター関数
function get_int($number)
{
return intval($number);
}
//文字列フィルター function
function get_str($string)
{
if (!get_magic_quotes_gpc()) {
return addlashes($string)
}
return $string;


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。