现在网站后端语言一般人都会选择php,可能介于php的集成环境比较好安装,所以被广大开发者所喜爱,一些小白在写代码时只顾着快速把代码调试通过,缺忘记了最大的安全隐患“防注入”。
仔细分析两点可注入:
网站的url地址
数据库的暴露
在网站传参不管是POST还是GET,都必须做好防护,在接收参数的时候如果传递的是id类型比如xxx.php?id=1这种,在接收的时候务必要做好过滤,如intval(_GET['id']);
intval是整数型,也就是只能传递数字,且不能是0。
那么问题来了,传递文章内容标题一类的如何办,那么我们必须向办法过滤掉其中的特殊字符如<>等,我们可以自己写一个全局的代码,然后把所有接收参数的GET或者POST都防护好,下面就演示一下:
$a = str(_GET['a']);
$b = str(_GET['b']);
$c = str(_GET['c']);
大家可以看到str就是你要定义的全局function,你可以把这个function放在全局的public文件中。
function str($string) {
$string = str_replace('%20', '', $string);
$string = str_replace('%20', '', $string);
$string = str_replace('%27', '', $string);
$string = str_replace('%2527', '', $string);
$string = str_replace('*', '', $string);
$string = str_replace('"', '"', $string);
$string = str_replace("'", '', $string);
$string = str_replace('"', '', $string);
$string = str_replace(';', '', $string);
$string = str_replace('<', '<', $string);
$string = str_replace('>', '>', $string);
$string = str_replace("{", '', $string);
$string = str_replace('}', '', $string);
return $string;
}
好了,这篇文章就写到这里了。如果对你有帮助请记得收藏本站哦,原创文章严禁转载。