我已经用我的代码做了很多研究和准备,试图阻止SQL注入,但我想讨论一些我不太确定的事情.
我理解mysqli_real_escape_string不会转义_(下划线)和%(百分号)字符.如果我在我的SQL语句中没有使用任何LIKE子句,这是否会让我面临任何风险?
下面是我有兴趣谈论的一个例子.这是我正在使用的登录脚本.我想确保我不会在这里打开任何注射漏洞.非常感谢您的见解和反馈.
// Initiate login process if the mode is set to login
if ($_REQUEST['mode'] == "login") {
// Open shared database connection
$cxn = connectDb();
// Escape characters to help prevent a SQL injection attack
$username = mysqli_real_escape_string($cxn, $_POST['user']);
// Convert submitted password to hashed value using
// custom password hashing function
$password = custompwhash($_POST['pass']);
// Execute SQL statement to determine if the credentials provided
// match a valid user
$sql = "SELECT count(*) as countOK FROM user_def …Run Code Online (Sandbox Code Playgroud)