-3

重複の可能性:
PHPでSQLインジェクションを防ぐための最良の方法は?

MySQLの注入を防ぐためにmysql_real_escape_stringとストリップスラッシュが使用されているのを見てきました。それとも、もっと必要で、これをすべて機能させてから、その機能を使用して注射を防ぎますか?

$query = ("SELECT * FROM `users` WHERE `fname` REGEXP '%s' AND `lname` REGEXP '%s' LIMIT  
%d", 
mysql_real_escape_string($fname), 
mysql_real_escape_string($lname),
(int)$RowsLimit);

それとも、このようなことをしたほうがいいでしょうか?mysql_real_escape_string(stripslahses($ fname))、

4

2 に答える 2

0

文字列の書式設定ではなく、準備されたクエリソリューションを使用する必要があります。

pdoでパラメータ化されたクエリは必要ですか?

pdoで準備されたクエリ

PHPでのSQLインジェクションの防止

于 2012-10-06T03:11:09.327 に答える
0

mysql_関数は非推奨になっているため、使用しないでください。mysqli_またはPDOを調べてください。どちらもプリペアドステートメントであり、効果的に使用すると、より高速で安全になります。

また、プリペアドステートメントをエスケープする必要はありません。これは前の回答で説明されています:

mysqlのプリペアドステートメントを使用する方が、一般的なエスケープ関数を使用するよりも安全なのはなぜですか?

mysqli_ステートメントの準備に関するPHP.net

于 2012-10-06T04:32:36.387 に答える