データベース接続なしで文字列をエスケープする
質問:
データベース接続なしで文字列を正確にエスケープするにはどうすればよいですか?データベース接続を確立していますか? SQL インジェクションの脆弱性を回避するドライ テストの目的でこの機能が必要です。
回答:
残念ながら、データベースに接続せずに文字列を安全にエスケープすることは現実的ではありません。 mysql_real_escape_string() と準備されたステートメントはどちらもデータベース接続に依存して、ターゲット データベースの特定の文字セットに合わせてエスケープ メカニズムを調整します。この接続を無視すると、アプリケーションが SQL インジェクション攻撃、特にマルチバイト文字を含む攻撃にさらされることになります。
テストに関する考慮事項:
主な目的がテストである場合は、次のような手段を講じることもできます。 mysql_escape_string() に。 SQL インジェクション攻撃に対して確実に対処できるわけではありませんが、データベース接続を使用しないより安全な代替手段がないため、依然として実行可能なオプションです。ただし、本番環境では mysql_escape_string() を使用しないことを強くお勧めします。
以上がデータベース接続なしでドライ テストのために文字列を安全にエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。