ホームページ  >  記事  >  バックエンド開発  >  phpのdadslashes()とsaddslashes()の違いは何ですか_PHPチュートリアル

phpのdadslashes()とsaddslashes()の違いは何ですか_PHPチュートリアル

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

//GPC フィルタリング、SQL インジェクション攻撃を防ぐために $_GET、$_POST、$_COOKIE の特殊文字を自動的にエスケープします
$_GET =saddslashes($_GET);

code コードは次のとおりです:
以下は、daddslashes() と maddslashes() の例です。 例:saddslashes function godslashes($string, $force = 0, $strip = FALSE) {
//文字列かどうかまたは配列が強制されている 削除するかどうか
//マジックリファレンスがオンになっていない場合、または $force が 0 でない場合
if(!MAGIC_QUOTES_GPC || $force) {
if(is_array($string)) { //有効である場合配列、この関数をループします
foreach($string as $key => $val) {
$string[$key] = maddslashes($val, $force)
}
} else {
//If マジックリファレンスがオンであるか、$force が 0 である場合
//以下は三項演算子です。 $strip が true の場合、stripslashes が実行されてバックスラッシュ文字が削除され、次に addslashes が実行されます
//$strip が true です。バックスラッシュ文字は最初に削除されてからエスケープされます。 $_GET、$_POST、$_COOKIE、$_REQUEST $_REQUEST 配列には、最初の 3 つの配列の値が含まれます
//なぜバックスラッシュを削除してからエスケープする必要があるのですか。 $string はここにあります。$string はバックスラッシュが 2 つあるため、ストリップスラッシュは余分なバックスラッシュを除外します
$string =addslashes($strip ?stripslashes($string) : $string);例:saddslashes function sawdslashes($string) { if(!MAGIC_QUOTES_GPC){
if(is_array($string)) { //エスケープが配列の場合、配列内の値を再帰的にエスケープします
foreach($string as $key = > $val) {
$string[$key] = sawdslashes($val);
}
} else {
$string =addslashes($string); //一重引用符 (') の場合は、二重引用符 (" ) 、バックスラッシュ () および NUL (NULL 文字)、エスケープ
}
return $string;
}else{
return $string;
}


主に:
saddslashes は各データの意味を処理します


コードをコピーします

コードは次のとおりです:
functionsaddslashes($string) { if(is_array($string)) { foreach($string as $key => $val) {
$string[ $key] = saddslashes($val);
}
} else {
$string = addslashes($string)
}


;



http://www.bkjia.com/PHPjc/326187.html
www.bkjia.comtru​​e

http://www.bkjia.com/PHPjc/326187.html技術記事 //GPC フィルタリングにより、$_GET、$_POST、$_COOKIE の特殊文字が自動的にエスケープされ、SQL インジェクション攻撃が防止されます $_GET = maddslashes($_GET); 次のようにコードをコピーします。 .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。