php header(location)容易被忽略小问题

浏览:9683 发布日期:2013/07/11 分类:技术分享
很多人写程序时,用 header(location) 进行跳转往往不记得写 exit() 语句,事实上这种做法是存在严重风险的。

从浏览器上看,使用 header(location) 就跳转到另一个页面了,但事实上,php却仍然会执行后台的代码的,假如后面的代码有不安全逻辑的,那就直接无视开发者设定的条件,继续把后面的东西给执行了。

如:if(true)
{
header('location:http://gongwen.sinaapp.com');
}

file_put_contents('test.txt', 'ok');//这句此行了,生成一个test.txt文件,文件内容为ok
这个代码中,粗心的程序员会以为 header('location:http://gongwen.sinaapp.com'); 就over了,事实上,后台的代码却仍然被执行了,所以使用 header(location) 的时候,不管是封装在另一个函数还是直接写的,都建议在后面加 exit() 确认程序中止。

若需了解多其它文章,请访问http://www.bestphper.cn
最佳答案
评论( 相关
后面还有条评论,点击查看>>