MySQL 拡張機能を使用して安全なデータベース クエリを作成する方法
MySQL 拡張機能は、PHP でのデータベース インタラクションに対する初歩的かつ機能的なアプローチを提供します。最も推奨されているオプションではありませんが、適切に使用すると、潜在的なセキュリティとユーザビリティの落とし穴を軽減できます。
安全なクエリに関する重要な考慮事項
一般的な脆弱性から保護するには、次のことが重要です。ベスト プラクティスに従う:
安全な MySQL 相互作用のサンプル コード
「tablename」に対して UPDATE クエリを実行する安全な PHP スクリプトを説明します。テーブル:
header('Content-type: text/html; charset=utf-8'); error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1); $config = array( 'host' => '127.0.0.1', 'user' => 'my_user', 'pass' => 'my_pass', 'db' => 'my_database' ); $connection = @mysql_connect($config['host'], $config['user'], $config['pass']); if (!$connection) { trigger_error('Unable to connect to database: ' . mysql_error(), E_USER_ERROR); } if (!mysql_select_db($config['db'])) { trigger_error('Unable to select db: ' . mysql_error(), E_USER_ERROR); } if (!mysql_set_charset('utf8')) { trigger_error('Unable to set charset for db connection: ' . mysql_error(), E_USER_ERROR); } $result = mysql_query('UPDATE tablename SET name = "' . mysql_real_escape_string($_POST['name']) . '" WHERE id = "' . mysql_real_escape_string($_POST['id']) . '"'); if ($result) { echo htmlentities($_POST['name'], ENT_COMPAT, 'utf-8') . ' updated.'; } else { trigger_error('Unable to update db: ' . mysql_error(), E_USER_ERROR); }
説明
このコード サンプルは、MySQL 拡張機能を使用して安全な更新クエリを実行する方法を示しています。これは、独自のデータベース操作でベスト プラクティスを実装しようとしている開発者にとって参考になります。
以上がPHP で MySQL 拡張機能を安全に使用して SQL インジェクションを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。