Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1632820
  • 博文数量: 1481
  • 博客积分: 26784
  • 博客等级: 上将
  • 技术积分: 17045
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-12 09:22
文章分类

全部博文(1481)

文章存档

2014年(10)

2013年(353)

2012年(700)

2011年(418)

分类: 系统运维

2012-09-17 14:05:10

很多人写程序时,用 header(location) 进行跳转往往不记得写 exit() 语句,事实上这种做法是存在严重风险的。
从浏览器上看,使用 header(location) 就跳转到另一个页面了,但事实上,php却仍然会执行后台的代码的,假如后面的代码有不安全逻辑的,那就直接无视开发者设定的条件,继续把后面的东西给执行了。
如:
if(true)
{
header('location:');
}
file_put_contents('test.txt', 'ok');//这句此行了,生成一个test.txt文件,文件内容为ok
这个代码中,粗心的程序员会以为 header('location:'); 就over了,事实上,后台的代码却仍然被执行了,所以使用 header(location) 的时候,不管是封装在另一个函数还是直接写的,都建议在后面加 exit() 确认程序中止。

阅读(793) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~