2007-12
18
辛辛苦苦写完的一个挖宝的活动项目,结果被ZH同学看到之后,骂的是狗血喷头!究其原因,撇开性能问题不谈,光是安全问题就是要命!
纵观整个项目,不论是GET还是POST,偶都是直接引用,从头到尾没有对其进行一丁点的判断。于是乎,最简单的问题就来了——注入漏洞!对于GET传递id的值,没有对id进行处理,对于用户需要填入的资料,更加没有进行处理。若是某些有心人想要弄我,好则修改一些数据,要是恶意一些,直接drop掉我的数据表,OK,我保证BOSS会在后面拿刀追着我砍!
暂时用了一些办法,可以比较省事的解决我这个不好的习惯。在config.php文件中包含另外一个文件secure.php,secure.php文件内容为:
foreach($_GET as $index => $content){
$_GET[$index] = addslashes($content);
}
foreach($_POST as $index => $content){
$_POST[$index] = addslashes($content);
}
将 GET和POST的值进行转移,一定程度上可以防止注入漏洞
再对一些GET值,比如id之类的,进行
$id = intval($_GET['id']);
将id值强制转换为int类型
还没有任何评论。