-
-
//----saddslashes - function goddslashes($string, $force = 0, $strip = FALSE) {
- //文字列または配列は強制ですか?削除
- //マジックリファレンスがオンになっていない、または $force が 0 でない場合
- if(!MAGIC_QUOTES_GPC || $force) {
- if(is_array($string)) { //配列の場合、この関数をループします
- foreach ($string as $key => $val) {
- $string[$key] = godslashes($val, $force);
- }
- } else {
- //マジック参照がオンであるか、$force が 0 の場合
- / /以下は三項演算子です。$strip が true の場合、stripslashes を実行してバックスラッシュ文字を削除し、次に addslashes を実行します。
- //$strip が true、つまり、最初にバックスラッシュ文字を削除してから、$ としてエスケープします。 _GET、$_POST、$_COOKIE、$_REQUEST $_REQUEST 配列には、最初の 3 つの配列の値が含まれています
- //なぜここでバックスラッシュを削除して $string をエスケープする必要があるのですか。 2 つのバックスラッシュ、ストリップスラッシュは余分なバックスラッシュを除外します
- $string =addlashes($strip ?stripslashes($string) : $string);
- }
- }
- return $string;
- }
// ------saddslashes
- functionsaddslashes($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;
- }
- ?>
-
コードをコピー
重要なポイントは次のとおりです。
サッドスラッシュはすべてのデータをエスケープできます。
-
- functionsaddslashes($string) {
- if(is_array($string)) {
- foreach($string as $key => $val) {
- $string[$key] =saddslashes($val);
- }
- } else {
- $string =addslashes($string);
- }
- return $string;
- }
- ?>
コードをコピー
|