ホームページ >バックエンド開発 >PHPチュートリアル >PHPのdadslashes()とsaddslashes()の違い

PHPのdadslashes()とsaddslashes()の違い

WBOY
WBOYオリジナル
2016-07-25 09:03:31965ブラウズ
  1. //----saddslashes

  2. function goddslashes($string, $force = 0, $strip = FALSE) {
  3. //文字列または配列は強制ですか?削除
  4. //マジックリファレンスがオンになっていない、または $force が 0 でない場合
  5. if(!MAGIC_QUOTES_GPC || $force) {
  6. if(is_array($string)) { //配列の場合、この関数をループします
  7. foreach ($string as $key => $val) {
  8. $string[$key] = godslashes($val, $force);
  9. }
  10. } else {
  11. //マジック参照がオンであるか、$force が 0 の場合
  12. / /以下は三項演算子です。$strip が true の場合、stripslashes を実行してバックスラッシュ文字を削除し、次に addslashes を実行します。
  13. //$strip が true、つまり、最初にバックスラッシュ文字を削除してから、$ としてエスケープします。 _GET、$_POST、$_COOKIE、$_REQUEST $_REQUEST 配列には、最初の 3 つの配列の値が含まれています
  14. //なぜここでバックスラッシュを削除して $string をエスケープする必要があるのですか。 2 つのバックスラッシュ、ストリップスラッシュは余分なバックスラッシュを除外します
  15. $string =addlashes($strip ?stripslashes($string) : $string);
  16. }
  17. }
  18. return $string;
  19. }
  20. // ------saddslashes

  21. functionsaddslashes($string) { if(!MAGIC_QUOTES_GPC){
  22. if(is_array($string)) { //エスケープが配列の場合、その配列は
  23. foreach の値を再帰的にエスケープします($string as $key => $val) {
  24. $string[$key] = sawdslashes($val);
  25. }
  26. } else {
  27. $string =addslashes($string ); //一重引用符をエスケープします (') 、二重引用符 (")、バックスラッシュ ()、および NUL (NULL 文字)
  28. }
  29. return $string;
  30. }else{
  31. return $string;
  32. }
  33. ?>

コードをコピー

重要なポイントは次のとおりです。 サッドスラッシュはすべてのデータをエスケープできます。

  1. functionsaddslashes($string) {
  2. if(is_array($string)) {
  3. foreach($string as $key => $val) {
  4. $string[$key] =saddslashes($val);
  5. }
  6. } else {
  7. $string =addslashes($string);
  8. }
  9. return $string;
  10. }
  11. ?>
コードをコピー


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