在连接到数据库时防止 SQL 注入



最初连接到mySQL数据库时是否需要验证用户输入?请考虑以下 PHP 中的示例,其中与数据库的初始连接是基于用户对表单的输入(例如,通过允许管理员更改存储在服务器上文件中的数据库凭据的表单):

$mysqli = new PDO('mssqli:host=' . $_REQUEST['host'] . ';dbname=' . $_REQUEST['db'] . ', $_REQUEST['username'], $_REQUEST['password']);

是否需要验证 $_REQUEST 变量,即是否可以在此处进行 SQL 注入?如果是这样,有没有办法参数化这个命令?感谢您的帮助。问候

是否需要验证 $_REQUEST 变量

至少这是一个好主意。

SQL注入可以在这里进行吗?

这种代码的唯一理智情况是当用户也是数据库所有者时。因此,他几乎不会注入他已经被允许进入的数据库。此外,严格来说,没有要注入的 SQL。

如果是这样,有没有办法参数化这个命令?

最新更新