私のPHPアプリケーションでは、magic_quotesを処理するためにstripslashes()を使用していますが、ユーザーが入力に\を入力できるので、magic_quotesが入れているスラッシュを削除したいだけです。stripslashes()を区別して使用する
1
A
答えて
8
stripslashes
スラッシュを無差別に削除しません。マジッククオートをオンにする
場合、それは'\\'
で'\'
を置き換え、スラッシュをエスケープだろう、とstripslashes
は、ユーザーが入力したものあなたを取り戻すために'\'
で'\\'
を交換し、正しくエスケープマジッククオートを元に戻す必要があります。
私はあなたがおそらくこのような何かしたいと思う:
// Ripped from the PHP manual (http://us3.php.net/manual/en/function.get-magic-quotes-gpc.php)
if (get_magic_quotes_gpc()) {
$lastname = stripslashes($_POST['lastname']);
}
else {
$lastname = $_POST['lastname'];
}
そのコード$lastname
の終わりには、ユーザが入力したものを除くすべてのスラッシュを持つべきではありませんが。
マジッククオートはセキュリティ上の問題で、新しいバージョンのPHPでは非推奨です(the docs参照)。
-1
は、独自のエンコード/デコード機能を転がり試してみてください、そうのように:magic_quotes_gpcのを使用して
function doEncode($string){
return addslashes(str_replace("\","\\",$string));
}
function doDecode($string){
return str_replace("\\","\",stripslashes($string));
}
2
がとにかく悪い考えであるPHP 5.5のようを行って5.3とのように、それが正式に廃止予定です。もっと重要なことに(そしてすぐに)、弱いセキュリティを奨励します。なぜなら、実際にはは実行されません。は、mysql_real_escape_stringやプリペアドステートメントやストアドプロシージャでは役に立ちません。
あなたがそれを取り除くことができる場合は、してください...
関連する問題
- 1. 別のstripslashesの問題
- 2. ダイナミックインベントリを使用してステージング/プロダクションを区別する方法は?
- 3. DialogInterface.OnClickListenerを使用して単一のダイアログを区別する
- 4. Spring RequestMappingを使用してドメインを区別する方法
- 5. JSTLを使用してJSPでドメインを区別する方法
- 6. ブーストアシオを使用してクライアントを区別する
- 7. event.target.classlistを使用してボタンの色を区別する
- 8. JavaScriptを使用したページの区別
- 9. Verdana/Arialフォントを使用して発音区別符を表示するWindows XP
- 10. DNSレコードを使用してドメインとTLDを区別する方法
- 11. ユニティコンテナを使用して複数のビュー/ビューモデルのペアを区別する方法
- 12. C# - WMIを使用してハードおよびソフトページフォールトを区別する
- 13. mysql_real_escape_stringとstripslashesを使用したSQLインジェクションの回避
- 14. jQuery UIを使用して表示値とid値を区別する方法リモートデータソースを使用したオートコンプリートプラグイン?
- 15. オープンアコーディオンタブを区別するためにハッシュマークを使用しjqueryのアコーディオンを使用してハッシュマーク#
- 16. .dllファイルを使用する.exeファイルと区別する方法
- 17. 使用する認証メカニズムを区別する
- 18. Pythonを使用してタブ区切りのテキストファイルを別のプログラムで使用可能なフォーマットに再フォーマットする
- 19. にstripslashes問題
- 20. PHPでは、 'stripslashes'と 'stripslashes'の違いは何ですか?
- 21. クリックとマウスとの区別を区別する
- 22. onProviderDisabled - プロバイダを区別する
- 23. アカウントを区別する
- 24. APKファイルを区別する
- 25. PHP stripslashesの問題
- 26. EventMachineを使用してCtrl + Cと通常のバインドを区別する方法を教えてください。
- 27. jQueryを使用して大文字と小文字を区別する方法を検索するには?
- 28. Informixでパラメータを使用して区間を定義する
- 29. OperatorPrecedenceParserを使用して大文字小文字を区別しない演算子を解析する
- 30. ログインしているユーザーを区別する