我想知道黑客是否有可能只使用字母和数字来执行 SQL 注入攻击。例如,让我们看一下使用正则表达式而不是内置 PHP 函数的 PHP 代码:
<?php
$id = preg_replace('/[^a-zA-Z0-9]/', '', $_GET['id']);
$result = $mysqli->query("SELECT * users WHERE id = '".$id."'");
如果您想知道代码的作用,它会删除所有不是字母或数字的字符,并在 MySQL 中执行该查询。我想知道黑客是否能够以某种方式利用该代码,如果不能,那 and mysqli::prepare
or之间可能有什么区别mysqli::escape_string
?