私の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. event.target.classlistを使用してボタンの色を区別する
- 3. JSTLを使用してJSPでドメインを区別する方法
- 4. ブーストアシオを使用してクライアントを区別する
- 5. DialogInterface.OnClickListenerを使用して単一のダイアログを区別する
- 6. settings.urlを使用してajaxリクエストを区別する
- 7. ダイナミックインベントリを使用してステージング/プロダクションを区別する方法は?
- 8. Bash:ワイルドカードを使用してファイルとディレクトリを区別する
- 9. Spring RequestMappingを使用してドメインを区別する方法
- 10. JavaScriptを使用したページの区別
- 11. mysql_real_escape_stringとstripslashesを使用したSQLインジェクションの回避
- 12. ファイルとディレクトリを区別して区別できますか?
- 13. 区切り文字を使用して区切り文字を分割し、別の表に挿入する
- 14. SQLクエリーを区別して
- 15. にstripslashes問題
- 16. ユニティコンテナを使用して複数のビュー/ビューモデルのペアを区別する方法
- 17. Jenkins selenium plugin - ラベルを使用してノードを区別する方法
- 18. C# - WMIを使用してハードおよびソフトページフォールトを区別する
- 19. Verdana/Arialフォントを使用して発音区別符を表示するWindows XP
- 20. regexpを使用してTravisログからMavenとGraleを区別する方法
- 21. DNSレコードを使用してドメインとTLDを区別する方法
- 22. ジェスチャー認識を使用して戦闘の動きを区別する
- 23. PHPでは、 'stripslashes'と 'stripslashes'の違いは何ですか?
- 24. SASSを使用した選択によって区別するスタイル
- 25. 使用する認証メカニズムを区別する
- 26. .dllファイルを使用する.exeファイルと区別する方法
- 27. RESTfulで複数のURIを使用するか、使用を区別するか
- 28. オープンアコーディオンタブを区別するためにハッシュマークを使用しjqueryのアコーディオンを使用してハッシュマーク#
- 29. jQuery UIを使用して表示値とid値を区別する方法リモートデータソースを使用したオートコンプリートプラグイン?
- 30. 正規表現を使用して段落別にテキストを区切る