Nor*_*ert 4 php mysql sql sql-injection
在之前的一个问题中我被告知我的查询很容易被SQL注入.
get_stats = mysql_query("SELECT *
FROM visitors
WHERE site='$_GET[site]'
AND date BETWEEN '$start_date' AND '$end_date' ");
Run Code Online (Sandbox Code Playgroud)
解决这个问题最简单的方法是什么?你是否有关于注射问题的进一步阅读?(我可能会想念谷歌的东西).谢谢!
$ _GET ['site']是一个直接来自浏览器中URL的值,这意味着用户可以轻松地将此值更改为他们想要的任何值,您应该在将值发送到数据库之前检查/清理该值.
像这样的东西将是一个开始,仍然可以使用更多的工作,有很多方法,我会创建一个自定义函数/类,以轻松地通过整个网站传递所有变量,这可以简单地重复这样的东西,像这样
$site = mysql_real_escape_string($_GET['site']);
$start_date = mysql_real_escape_string($start_date);
$end_date = mysql_real_escape_string($end_date);
get_stats = mysql_query("SELECT * FROM visitors WHERE site='$site' AND date >= '$start_date' AND date <= '$end_date' ");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
510 次 |
| 最近记录: |