なぜ迷惑をmysql_real_escape_string()年$_POST addesスラッシュの前に引用しまうのですか?

StackOverflow https://stackoverflow.com/questions/1747677

質問

PHP,$_POSTに追加スラッシュの前にクォーテーションを自動的に、なぜわざわざ申mysql_real_escape_string()?例えば、入力し 'rrr 入力分野を取得しま \'rrr 私はエコーです。

役に立ちましたか?

解決

MacigQuotesは、私の知る限りでは、今日ではかなり珍しいです、PHPの設定で有効になっている場合にのみ発生しますので。また、mysql_real_escape_stringのは、他のMySQL関連の文字をエスケープします。

http://php.net/manual/en/security.magicquotesをチェックマジッククオートの詳細については、こちら .PHPます。

あなたが見ることができるように、既にこのディレクティブの廃止の警告があるので、あなたが^^とにかく、あなたのサーバの設定を確認する必要があります。

編集:php.iniのためのあなたのXAMPPフォルダの検索、マジッククオートを無効にし、追加、または存在する場合、次のディレクティブを変更するには:

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

他のヒント

  1. mysql_real_escape_stringエスケープ以上の単一引用符であり、その他のcharを引き起こすことが可能な射出課題です。
  2. PHPのみを追加しスラッシュを掲載して入力の場合magic_quotesが有効とされる悪を実践につながるため、怠惰というreal_escape_string!)

マジッククオートはPHP 5.3.0 ののとして廃止されましたし、 PHP 6.0のように廃止されます。

編集:彼らはほとんどのPHPのインストールによって推奨されていませんので、だから、自動スラッシュを当てにすることはできない、とすぐに、全く動作しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top