私は自分のウェブサイトを完成させており、非常にSQLインジェクションを安全にしたいと考えています。その大部分は、潜在的なユーザー入力に対して mysql_real_escape_string() を通過して使用することです。
これは、「stripslashes」を使用して元のコンテンツを返してページに表示する必要がある場合に、ほとんどの場合問題ありません。ただし、キャリッジリターンを取得できないようです。
ユーザーがキャリッジ リターンを含む部分を送信する可能性がある場所がいくつかあります (メッセージは 1 つの例です。たとえば、'Hi John' で始まり、メイン メッセージに 2 回戻ります)。どうすればこれを修正できますか? Stripslashes は rnrn を含むメッセージを返すだけで、これは良くありません。
例として(すべての可能な入力をテストしようとしている)。
このテキスト:
Once upon a time there was a guy named "steve" or 'john' or backslash (\)
Then, two lines later, he left.
次のように SQL データベースに保存されます。
Once upon a time there was a guy named \"steve\" or \'john\' or backslash (\\)\r\n\r\nThen, two lines later, he left.
そして、ストリップスラッシュを使用すると、次のようになります(htmlに出力するために次のことを行っていることに注意してください - :
Once upon a time there was a guy named "steve" or 'john' or backslash (\)rnrnThen, two lines later, he left.
nl2br を試してみましたが、何らかの理由で何もしません。ここで何か考えたいと思います、どうもありがとう!