最適化されたaddlashes関数

WBOY
WBOYオリジナル
2016-07-25 09:07:12937ブラウズ
  1. function goddslashes($string, $force = 0) {
  2. if(!$GLOBALS['magic_quotes_gpc'] || $force) {
  3. if(is_array($string)) {
  4. foreach($string as $key => $val) {
  5. $string[$key] = godslashes($val, $force);
  6. }
  7. } else {
  8. $string =addslashes($string);
  9. }
  10. }
  11. return $string ;
  12. }
コードをコピー

手順: 文字列はスラッシュを追加します (文字列 str ) データベースクエリステートメントなどの目的で、特定の文字の前にバックスラッシュを追加した文字列を返します。これらの文字は、一重引用符 (’)、二重引用符 (")、バックスラッシュ ()、および NUL (NULL 文字) です。

addslashes() の使用例は、データベースにデータを入力する場合です。たとえば、O'reilly という名前をデータベースに挿入するには、エスケープする必要があります。ほとんどのデータベースはエスケープ文字として O'reilly を使用します。これにより、余分な .html を挿入することなく、データがデータベースに保存されます。 PHP ディレクティブ magic_quotes_sybase が on に設定されている場合、' の挿入は ' でエスケープされることを意味します。

デフォルトでは、PHP 命令 magic_quotes_gpc がオンになっており、主にすべての GET、POST、COOKIE データに対してaddslashes() が自動的に実行されます。 magic_quotes_gpc によってエスケープされた文字列に対して addslashes() を使用しないでください。二重エスケープが発生するためです。この状況が発生した場合は、関数 get_magic_quotes_gpc() を使用して検出できます。


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