ホームページ > バックエンド開発 > PHPチュートリアル > わかりやすいPHPアンチインジェクションコード_PHPチュートリアル

わかりやすいPHPアンチインジェクションコード_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:39:23
オリジナル
929 人が閲覧しました

2 つの方法を紹介します。まず、次のコードを Web サイトのルート ディレクトリに保存し、各 php ファイルの前に include("/safe.php") を追加します。 -injection コード方法 1:


コードをコピーします

コードは次のとおりです: //フィルタリングされる不正な文字
$ArrFiltrate=array("'",";" ,"union");
//エラーが発生した後にリダイレクトされる URL
$StrGoUrl="";
配列に値があるかどうか。 FunStringExist($StrFiltrate,$ArrFiltrate){
foreach ($ArrFiltrate as $key=>$value){
if (eregi($value,$StrFiltrate)){
true を返す
}
return false; }
// $_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 "
}else{
echo "<スクリプト言語=”javascript”>window.location=””.$ StrGoUrl."";";
}
exit;
}
}
?>



php アンチインジェクション コード メソッド 2 :




コードをコピーします

コードは次のとおりです:
/* すべての 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($数値);
}
//文字列フィルター関数
function get_str($string)
if (!get_magic_quotes_gpc()) {
return addedlashes($string)
}
return $string;



http://www.bkjia.com/PHPjc/321597.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/321597.html
技術記事

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート