用于登录表单的简单sql注入解决方案?

adm*_*min 1 php sql login code-injection

我看到了几个例子,人们用这种方式在登录表单中查询数据库.我不完全确定这是安全登录表单的最佳方式.

这是PHP中的查询:

    $query = "SELECT * FROM users WHERE usern = '".$_POST['username']."' AND passw = '".md5($_POST['password'])."'";
Run Code Online (Sandbox Code Playgroud)

是否在密码帖子上有md5()以避免sql注入?我认为md5函数会将所有字符和sql字符串转换为32个char字符串.

我可以通过哪些其他方式保护登录表单?

Mic*_*ton 6

mysql_real_escape_string($_POST['username'])

虽然最好使用mysqli扩展并使用预处理语句.

(假设您使用的是MySQL)

编辑:在回复下面的评论时,最好将其用于LIKE查询:

addcslashes(mysql_real_escape_string($_POST['username']), '%_')