HTTP Referer 防外链

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。

  if (Request.ServerVariables["HTTP_REFERER"] == null || !Request.ServerVariables["HTTP_REFERER"].ToString().Contains(Request.ServerVariables["HTTP_HOST"].ToString()))
{
Server.Transfer("Error.aspx");
}

下列情况是从浏览器地址栏正常取得Request.ServerVariables("HTTP_REFERER"):
1) 直接用<a href="">
2) 用Submit或<input type="image">提交的表单(POST或GET)
3) 使用JAvaScript提交的表单(POST或GET)

下面我们再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:
1) 从收藏夹链接
2) 单击主页或自定义的地址
3) 在浏览器中直接输地址
4) 使用JavaScript的Location.href或者是Location.replace()
5) <%Response.Redirect%>
6) <%Response.AddHeader%>或者是<mete http-equiv="refresh">转向
7) 用XML加载地址
显然,Request.ServerVariables("HTTP_REFERER")在多数情况下是不能正常工作的,下面我们看一个例子:
ref.asp
<% 
response.write "You came from: " & request.servervariables("http_referer") 
%>
ref.htm
<% 
Response.AddHeader "Refresh", "10;URL=ref.asp" 
%>
<meta http-equiv=‘refresh‘ content=‘10;URL=ref.asp‘>
<form method=GET action=ref.asp name=getform> 
<input type=submit value=‘ Go there (GET) >> ‘> 
<input type=image style=‘cursor:hand‘> 
</form><p> 
看看上面的代码会得到什么的结果.
<form method=POST action=ref.asp name=postform> 
<input type=submit value=‘ Go there (POST) >> ‘> 
<input type=image style=‘cursor:hand‘> 
</form><p>
<a href=‘ref.asp‘>直接链接</a><p>
<a href=‘#‘ onclick=‘window.location.href="ref.asp";return false;‘>Javascript location</a><p>
<a href=‘#‘onclick=‘window.location.replace("ref.asp");return false;‘>Javascript replace</a><p>
<a href=‘#‘ onclick=‘document.getform.submit();return false;‘>javascript GET</a><p>
<a href=‘#‘ onclick=‘document.postform.submit();return false;‘>javascript POST</a>
Request.ServerVariables(HTTP_REFERER)的工作方式

时间: 2024-10-25 17:16:01

HTTP Referer 防外链的相关文章

PHP伪造referer突破网盘禁止外链(附115源码)

新建一个文件file.php.后面的参数就是需要伪造referfer的目标地址吧.如:file.php/http://www.xxx.xxx/xxx.mp3 复制内容到剪贴板 代码: <?$url=str_replace('/file.php/','',$_SERVER["REQUEST_URI"]);//得出需要转换的网址.这里我就偷懒,不做安全检测了,需要的自己加上去$downfile=str_replace(" ","%20",$ur

破解百度网盘限速:IDM+外链下载

原链接 前言 随着国内的一些比较大的网盘一家家的倒下,国内流派众多的小网盘又因为有广告.不可靠等原因,使用时不太放心:而国外的 OneDrive.Google Drive 等又因为众所周知的原因,在国内使用多有不便.百度网盘变得一家独大. 但是,因为百度网盘对普通用户的限速,如果不充值会员的话,"小水管"的下载速度实在是感人.而一些保存在百度网盘的文件又不得不用它下载. 当然,"天下没有免费的午餐",百度网盘的会员制也无可厚非.然而,当我去充值会员时发现:买了会员也

新浪图片停止外链后的一些解决办法

缘由 个人在后台获取了一个新浪图片,最近新浪图片无法展示了,看了下http请求返回状态是403.说明被限制住了. 原理 一般这种限制都是 通过判断 referer 或者请求来源IP 是不是信任的. 解决方案 方案一 增加如下代码在head头部,但是就会导致所有的请求不会有referer ,这对于我们正常完整进行溯源不太友好 <meta name="referrer" content="no-referrer" /> <meta name="

一个关于引用外链视频的小问题

我这个问题属于个极小众的问题,所以简单写下来如果又遇到和我类似情况的朋友可以参考一下. 先简单描述一下问题情况,当我们想在自己的网站添加一个视频的时候又要想偷懒直接引用外站视频(说好听点也是节省自身服务器资源)的时候,国内大部分的视频网站都是基于Adobe flashplayer开发的播放器.我今天在做的时候就发现如果引用embed 标签的外链资源会导致几乎全部的手机浏览器不兼容,pc站没啥大问题,部分浏览器都需要安装各自的flashplayer. 以上这个情况对于用户体验来说绝对是糟糕的,所以

果壳豆瓣外链推广技巧

自从李总理视察了深圳的创客空间后,全国就挂起了一股"创客风",无数的创客空间像雨后春笋一样迅速的建立起来,让"创客"一词走进了大家的视野里. 废话就不错说了,这里我就分享一下如何推广科技类的网站. 首先得充实网站的内容,这个的自己去做,我帮不了你. 其次,有了内容然后就得引流了,引流无非就是发外链,但是如何高效的发外链这是个值得思考的问题.有"自问自答"."超级软文"--经过研究,自己写文章然后留连接效果不错,但是太耗脑力了,

我们凡是的外链有哪几种

<p> <br>上网站外链是我们在SEO中必备的一件事,具体该怎么样操作才能提高外链的质量,让外链阐扬最年夜的浸染,有用地晋升网站权重.<br>我们凡是的外链有哪几种,简单介绍一下:<br>1.论坛的外链:论坛的外链是我们站长做的最多的是公认的获取外链最快的路子.一般情形下,站长都是在论他中发帖回帖,初级的SEO人员就是在论坛中灌水,拼命地顶贴,甚至有些人他们做的加倍的过度,操作顶贴工具,进行大量的顶贴,导致良多的账号被打点封失踪.外链大量的丢掉,导致网站的

企业网站seo:现在做外链还有没有效果

有人说,在中国互联网上,每一个概念火不过2年,如2011年的微博网站,2012年的移动APP,2013年的O2O网站,2014年的P2P金融,2015年的面膜微商--.seo虽然很早就有了,但在中国最火的时候是在2010~2011年,然后逐渐退热至今,好在家世比小柯发现目前还有培训机构在运作,还有人在组织seo圈子,让seo略显没那么萧条.这两年外链无用论愈渐多见,都说外链为皇的时代已经过去,不过小柯认为外链还是有其作用的,做seo外链还是要发的,尤其中小网站,如企业网站. 做外链还有用的依据

html 音乐 QQ播放器 外链 代码 播放器 外链 代码

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha QQ播放器 外链 代码 播放器 外链 代码 ======== 歌曲链接 QQ播放器 外链 代码 播放器 外链 代码 <EMBED src="音乐url" autostart="true" loop="true" width="80" height="20"> 在网易云音乐, 搜索一首

分享发布网站外链的几种方法

分享发布网站外链的几种方法 俗话说:"内容为王.外链为皇".根据得易搜分类信息网的情况,可见外链关于网站的重要程度.很多新手站长为此煞费苦心.请认真看完本文.坚持做稳定添加肯定能有意想不到的收获. 一.站点友谊衔接 友谊衔接是一种简单.也是最原始进步权重的办法.传奇小子就不多讲细致操作啦.关键要懂得选择优秀的站点交流.避免由于不好的友谊链接可能托你后腿.招致引擎降低你权重.所以大家在交流友谊链接的时分一定要多看看对方网站的内容.对每个交流的站点要逐一审核.定期查看能否稳定能否降权. 二