-1

DB にデータを挿入するためにこの方法は安全ですか?

$var = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["address"]), ENT_QUOTES, "ISO-8859-1"));
4

1 に答える 1

2

「銀の弾丸」はありません。

しかし、間違いなく、SQL インジェクションを防ぐ最も効果的な方法の 1 つは、準備済みステートメントを使用することです。

http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html

もう 1 つの同様に効果的な防御策は、利用可能な最新の安全な mySql API を使用することです。mySqli (オブジェクト指向) または PDO SQL のいずれかです。

http://php.net/manual/en/mysqlinfo.api.choosing.php

SQL インジェクションに関する適切なリンクと、mySql コードのリスクを軽減する方法を次に示します。

http://php.net/manual/en/security.database.sql-injection.php

2 つのガイドラインに従うことを強くお勧めします。

1)古い非推奨の mySql API を新しいコードに使用しないでください代わりに MySQLi または PDO を使用してください。

2) SQL ステートメントの近くでは、生のユーザー入力を許可しないでください。入力を慎重に検証し、可能な限り準備済みステートメントを使用してください。

私見では...

于 2013-07-08T04:09:00.627 に答える