私は友人のためにきちんとした Web サイトを構築していますが、サイトがテキストボックス、テキストエリアなどからの入力を自動的にエスケープしていることに気付きました。
mysql_real_escape_string
これは、mysql データベースにデータを挿入するときに追加する必要がなく、そのままにしておくことができるということですか?
それとも、これは潜在的なセキュリティ リスクですか?
私は友人のためにきちんとした Web サイトを構築していますが、サイトがテキストボックス、テキストエリアなどからの入力を自動的にエスケープしていることに気付きました。
mysql_real_escape_string
これは、mysql データベースにデータを挿入するときに追加する必要がなく、そのままにしておくことができるということですか?
それとも、これは潜在的なセキュリティ リスクですか?
コメンターが指摘するように、mysql() API は推奨されません。MySQLi を使用し、準備済みステートメントを使用します。これの優れた点は、何を挿入しても、元の SQL を変更できないことです (プログラマーの知識なしに SQL を変更することは、実際のセキュリティ上の問題です)。
さらに、すべての投稿で入力を逃したことは、一般的にイライラする可能性があります. 私は通常、php.ini で gpc_magic_quotes ディレクティブを無効にするか、gpc_magic_quotes がオンの場合はストリップスラッシュを使用して、これをオフにします。しかし、それは私の個人的な好みです。
そのため、コードを MySQLi 構文にアップグレードしてみてください。絶対に不可能な場合は、ストリップスラッシュを使用してから mysql_real_escape_string を使用します (使用する言語エンコーディングが考慮されます...)