什么是SQL注入?
- what?
SQL注入是一种常见的Web应用程序安全漏洞,攻击者通过在Web应用程序中注入恶意的SQL语句,从而实现对数据库的非法访问和操作。SQL注入可能会导致数据泄露、数据损坏、系统崩溃等严重后果,因此需要采取相应的措施来防范和解决。
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
' OR '1'='1 【用户名输入】
SELECT * FROM users WHERE username='' OR '1'='1' AND password=''
由于'1'='1'永远为真,因此上述SQL语句将返回所有用户的信息,攻击者就可以轻松地绕过登录验证,实现对系统的非法访问和操作。
- how?
- 预编译SQL语句
- 利用正则校验输入的合法性