一般来说在header函数前不能输出html内容,类似的还有setcookie() 和 session 函数,这些函数需要在输出流中增加消息头部信息。
如果在header()执行之前有echo等语句,当后面遇到header()时,就会报出 “Warning: Cannot modify header information – headers already sent by ….”错误。
就是说在这些函数的前面不能有任何文字、空行、回车等,而且最好在header()函数后加上exit()函数。
最近修改了系统,增加了一个HTTP header 用来传递信息。但是在上线后,就出问题了,经过排查,后台没有获取到这个header 值。
经过思考,只能是nginx 代理请求的时候没有将这个header 值传给 后台服务。
百度了一下,nginx应该这么配置:
修改nginx 配置,重启服务,搞定!!
怎么在浏览器请求发送get请求时无法设置headers 一、LiveHttpHeaders的安装LiveHttpHeaders是一个用于分析HTTP流量的 Firefox 扩展,我们可以用它来分析和重放http请求。我们下面详细的说明该插件的安装步骤。
如果Firefox阻止了该扩展的安装,可以在单击右边的“允许”按钮以继续安装。
单击上图中的“允许”按钮就会启动安装过程,这时浏览器会d出如下所示的“软件安装”对话框,
单击“软件安装”对话框中的“立即安装”按钮进入下一安装画面
在“附加附件”对话框中,请单击“重新启动Firefox”按钮,当浏览器重启后,会自动d出
这说明我们已经成功安装好了LiveHttpHeaders扩展,关闭该对话框,我们就能在工具菜单以及“查看”菜单下的“侧栏”子菜单中看到LiveHttpHeaders的菜单项了。
二、LiveHttpHeaders主窗口
根据我们目的的不同,LiveHttpHeaders有两种启动方法:当我们只想监视通信量的时候,可以从浏览器的“查看”菜单中选择“侧栏”菜单 项,最后选择Live HTTP Headers菜单项如果要使用该工具全部特性的话,则需要通过单击“工具”菜单中的Live HTTP Headers项来打开它
LiveHttpHeaders主窗口中有多个选项卡,不同的选项卡对应于不同的功能。窗口的中间部分显示的是发 出的请求和收到的响应,而各个请求-应答对之间有水平线进行分隔。该窗口底部包含LiveHttpHeaders的动作按钮以及规定是否启用捕获模式的 “Capture”复选框。选中这个按钮可以停止LiveHttpHeaders向下滚动,以便对已经产生的通信流量进行分析。
三、利用LiveHttpHeaders重放请求
除了监视HTTP流量外,我们还能利用LiveHttpHeaders重放一个请求,这对于Web 应用程序的安全性测试来说非常重要。LiveHttpHeaders使我们能够轻松读写之前的请求,所以也就能够方便地通过修改该请求的各个部分来测试程 序的弱点和缺陷。要进行重发的话,只要在窗口中间部分已列出的请求中选择一个,然后在窗口底部单击“Replay”按钮就会d出如同图7中看到的那样的窗 口,我们能够在此对该请求进行各种修改,例如我们可以添加额外的头部,改变请求方式(GET或POST),或者修改发往服务器的参数,等等。对请求做好修 改后,单击“Live HTTP Replay”对话框底部的“Replay”按钮即可实现该请求的重发。
重放可能是LiveHttpHeaders中最有用的功能,因为它直接把请求的结果加载到浏览器中,这正是各Web代理程序所不具备的,如Burp。利用重放窗口,我们可以进一步利用浏览会话进行各种修改并查看其结果。
四、修改POST参数
正如前面提到的那样,我们能够利用重放功能来改变请求的任何部分,其中包括POST参数,如图8所示。注意,改变POST 请求时,需要注意头部中的Content-Length参数,因为LiveHTTPReplay不能动态提供请求内容的长度值。虽然大多数Web服务器/ 应用程序并不关心该值的对错,但是按照RFC的规范,该头部是必需的。如果不包含这个值,当使用了入侵检测系统(IDS)监控Web通信流量时,就会引起IDS报警。幸运的是,LiveHttpHeaders提供了一个长度计数器,它位于该窗口的左下方,我们可以利用它来插入我们的内容长度值。
除GET和POST请求之外,我们还可以利用这个工具通过TRACE、TRACK 和OPTIONS方式来测试Web服务器。例如,为重放工具提供下列命令,就可以测试一个Web服务器是否允许无限制的文件上载。
五、过滤功能
最后要介绍的是如何过滤掉不想要的请求类型,这会在检查大型Web 应用程序时减少我们的工作量。首先单击Live HTTP Headers主窗口中的Config选项卡,如下图所示:
通过该配置视图,我们可以排除和包括匹配特殊正则表达式规则的URL。使用“Filter URLs with regexp ”和“exclude URLs with regexp ”,可以根据请求的URL来规定哪些类型的请求是我们想要的。在上图中,以.gif、.jpg、.ico、.css和.js 结尾的请求将会排除在Headers视图之外。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)