2

シナリオ:

投稿したいブログがあります。ブログ投稿を書き込んで別のphpページに送信し、それをデータベースに保存して(投稿が私の投稿であることを確認した後)、そこから読み取られてホームページに表示されるフォームを設定しました. 引用符やデータベースへの保存を妨げるものを簡単にエスケープするにはどうすればよいですか?

ありがとう

4

3 に答える 3

4

MySQL データベースに格納されることを妨げる唯一のものは、mysql_real_escape_string()によって簡単にエスケープできます。

データベースから取り出すと、すべてがエスケープされて挿入される前と同じように見えます。Web ページに表示する前に、テキストに対してhtmlspecialchars()を実行して、悪意のあるスクリプトによる攻撃を防ぎます。効果があります。

テキストに HTML をまったく含めたくない場合、オプションのコマンドはstrip_tags()です。

于 2009-08-05T15:05:25.123 に答える
4

PHPのプリペアド ステートメントは、データベースに入るデータのサニタイズを適切に処理します。

于 2009-08-05T15:08:50.513 に答える
1

準備されたステートメントは、常に本当に良い考えです。ただし、データベース コードをストアド プロシージャに移動することを検討することもできます。これにより、セキュリティとパフォーマンスが向上します (ほとんどの場合、使用するデータベースと結果をキャッシュする方法によって異なります)。

ストアド プロシージャ ルートを使用しない場合は、データベースへの呼び出しごとに複数行のコマンドを無効にすることも確認してください。これは、データベース構成ファイルにある必要があります。これを行う可能性を無効にします:

あなたのコマンド;悪意のあるコマンド

他の方法もありますが、これが間違いなく最も安全です。

于 2009-08-05T17:04:46.313 に答える