最初连接到mySQL数据库时是否需要验证用户输入?请考虑PHP中的以下示例,其中基于用户对表单的输入建立与数据库的初始连接(例如,通过允许管理员更改存储在服务器上的文件中的数据库凭据的表单):
$mysqli = new PDO('mssqli:host=' . $_REQUEST['host'] . ';dbname=' . $_REQUEST['db'] . ', $_REQUEST['username'], $_REQUEST['password']);
是否需要验证$ _REQUEST变量,即可以在此处进行SQL注入?如果是这样,有没有办法参数化这个命令? 谢谢你的帮助。 此致
答案 0 :(得分:1)
是否需要验证$ _REQUEST变量
至少这是个好主意。
可以在这里进行SQL注入吗?
此类代码唯一合理的情况是用户也是数据库所有者。因此,他几乎不会注入他已被允许进入的数据库。此外,没有SQL可以注入,严格来说。
如果有,有没有办法参数化这个命令?
没有