我的问题是关于数据库连接和 SQL 注入的应用。我正在使用下面提供的代码成功连接到我的数据库。我想问一下:
- foreach 如何停止 SQL 注入?
- 如果有更好更有效的方法使连接更安全?
- 如果将 dbconnect.php 包含在另一个文件(例如 global.php)中,连接是否仍然有效并为我提供来自数据库的有效数据,作为回报,该文件包含在实际使用数据库的主文件中是?
示例文件.php:
<?php
//MySQL Database Connect
include './includes/dbconnect.php';
//This stops SQL Injection in POST vars
foreach ($_POST as $key => $value) {
$_POST[$key] = mysql_real_escape_string($value);
}
//This stops SQL Injection in GET vars
foreach ($_GET as $key => $value) {
$_GET[$key] = mysql_real_escape_string($value);
}
?>
dbconnect.php:
<?php
$con = mysql_connect("localhost","username","password");
if (!$con){ die('Could not connect: ' . mysql_error()); }
mysql_select_db("databasename", $con);
?>
非常感谢!