php 网站如何防止 sql 注入?
网站的运行安全肯定是每个站长必须考虑的问题,大家知道,大多数黑客攻击网站
都是采用 sql 注入,这就是我们常说的为什么最原始的静态的网站反而是最安全的。今天
我们讲讲 PHP 注入的安全规范,防止自己的网站被 sql 注入。
如今主流的网站开发语言还是 php,那我们就从 php 网站如何防止 sql 注入开始说起:
Php 注入的安全防范通过上面的过程,我们可以了解到 php 注入的原理和手法,当然
我们也同样可以制定出相应该的防范方法:
首先是对服务器的安全设置,这里主要是 php+mysql 的安全设置和 linux 主机的安全设置。
对 php+mysql 注射的防范,首先将 magic_quotes_gpc 设置为 On,display_errs 设置为 Off,
如果 id 型,我们利用 intval()将其转换成整数类型,如代码:
$idintval($id);
mysql_query”*fromexamplewherearticieid’$id’”;
或
者
这
样
写
:
mysql_query(”SELECT*FROMarticleWHEREarticleid”.intval($id).”")
如果是字符型就用 addslashes()
”
过滤一下,然后再过滤 %” ”
和 _”如:
$searchaddslashes($search);
$searchstr_replace(“_”,”\_”,$search);
$searchstr_replace(“%”,”\%”,$search);
当然也可以加 php 通用防注入代码:
/*************************
PHP 通用防注入安全代码
说明:
判断传递的变量中是否含有非法字符
如$_POST、$_GET
功能:
防注入
**************************/
//要过滤的非法字符
$ArrFiltratearray(”‘”,”;”,”union”);
//出错后要跳转的 url,不填则默认前一页