最新做的一个项目,被
测试组猛烈攻击,暴露了不少问题。其中一个问题印象深刻!
测试使用了WebInspect这个扫描工具,扫描了整个网站,包括后台。结果我们的
数据库里被灌入大量的垃圾数据,并修改了原有的数据。总之,惨不忍睹!
后来,我们发现我们后台的一个简单的检查是否登录的方法有问题:在判定未登录时,使用php header()跳转页面,没有在这个方法执行后退出执行。这样的话,页面跳转,但在header()下面的代码依然会执行。
现总结下php header()使用时注意的问题:
1、location和“:”号间不能有空格,否则会出错。
2、在用header前不能有任何的输出。
3、header后的PHP代码还会被执行。记得加exit() 或者die 退出。
另外,后台登录地址注意安全,不让他人轻易猜到!