【发布时间】:2023-04-03 21:07:01
【问题描述】:
我的问题是关于数据库连接和 SQL 注入的应用。我正在使用下面提供的代码成功连接到我的数据库。我想问一下:
- foreach 如何停止 SQL 注入?
- 是否有更好更有效的方法使连接更安全?
- 如果将 dbconnect.php 包含在另一个文件(例如 global.php)中,连接是否仍然有效并为我提供来自数据库的有效数据,而该文件又包含在实际的主文件中使用数据库是什么?
example_file.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);
?>
非常感谢!
【问题讨论】:
标签: php mysql include sql-injection dbconnection