0

私は友人のためにきちんとした Web サイトを構築していますが、サイトがテキストボックス、テキストエリアなどからの入力を自動的にエスケープしていることに気付きました。

mysql_real_escape_stringこれは、mysql データベースにデータを挿入するときに追加する必要がなく、そのままにしておくことができるということですか?

それとも、これは潜在的なセキュリティ リスクですか?

4

2 に答える 2

1

コメンターが指摘するように、mysql() API は推奨されません。MySQLi を使用し、準備済みステートメントを使用します。これの優れた点は、何を挿入しても、元の SQL を変更できないことです (プログラマーの知識なしに SQL を変更することは、実際のセキュリティ上の問題です)。

さらに、すべての投稿で入力を逃したことは、一般的にイライラする可能性があります. 私は通常、php.ini で gpc_magic_quotes ディレクティブを無効にするか、gpc_magic_quotes がオンの場合はストリップスラッシュを使用して、これをオフにします。しかし、それは私の個人的な好みです。

そのため、コードを MySQLi 構文にアップグレードしてみてください。絶対に不可能な場合は、ストリップスラッシュを使用してから mysql_real_escape_string を使用します (使用する言語エンコーディングが考慮されます...)

于 2013-06-15T23:54:23.517 に答える