barriers / 阅读 / 详情

JavaScript中escape(window.location)和escape(document.referrer)是什么意思?

2023-05-19 15:07:02
共1条回复
左迁

escape就是加密了,用unescape解密就知道是什么了document.write(unescape(_rsSI));

window.location就是获取URL了,URL通常分为几个部分,如window.location.href 就是获取完整的地址 http://……或者是https://……;window.location.search 查询参数,也就是“?”后面部分的。 document.referrer 是获取从哪个页面传来的 如从a.htm链接到b.htm,那b.htm就显示 http://……/a.htm

相关推荐

referer 是什么意思?

引用者
2023-01-01 21:43:443

referrer和referee有什么区别?

referrer 引用、参照网址、引用者、推荐人、引荐referee 裁判、主裁判、裁判员、裁判、主裁如果配对出现,会是:referrer推荐人referee被推荐人
2023-01-01 21:43:563

meta标签之referrer

<meta name="referrer" content=“no-referrer”> referrer是用于追踪用户是从哪个页面跳转过来,js中使用document.referrer来得到值,一般用户做移动端back按钮,如用户通过别人发送时候链接进入页面时,可以隐藏back按钮。 referrer有五种属性 No Referrer (永远不做记录) No Referrer When Downgrade(浏览器默认,当降级时候不记录,从https跳转到http) Origin Only(只记录 协议+ host) Origin When Cross-origin(仅在发生跨域访问时记录 协议+host) Unsafe URL(永远记录)参考链接: Referrer Policy 介绍  和  document.referrer的用法详解
2023-01-01 21:44:131

nginx 错误日志中的referrer 什么用处

referrer用于标识用户从哪个页面发起的请求,但由于是客户端发送,服务器无条件信任,所以该值可以伪造正常情况下浏览器发送的referrer是不会错误,但可以通过非浏览器的方式访问,如通过curl命令等,所以referrer仅供参考,不可完全信任一般用于统计
2023-01-01 21:44:181

Referrer Policy 介绍

当用户在浏览器上点击一个链接时,会产生一个 HTTP 请求,用于获取新的页面内容,而在该请求的报头中,会包含一个 Referrer,用以指定该请求是从哪个页面跳转页来的,常被用于分析用户来源等信息。但是也有成为用户的一个不安全因素,比如有些网站直接将 sessionid 或是 token 放在地址栏里传递的,会原样不动地当作 Referrer 报头的内容传递给第三方网站。 所以就有了 Referrer Policy ,用于过滤 Referrer 报头内容,<time datetime="2017-08-10">目前</time>是一个候选标准,不过已经有部分浏览器支持该标准。具体的可查看 这里 。 目前包含了以下几种指令值: 按照浏览器的默认值执行。默认值为 no-referrer-when-downgrade 。部分标签可重定义此安全策略。 从字面意思就可以理解,不传递 Referrer 报头的值。 当发生降级(比如从 https:// 跳转到 http:// )时,不传递 Referrer 报头。但是反过来的话不受影响。通常也会当作浏览器的默认安全策略。 同源,即当协议、域名和端口(如果有一方指定的话)都相同,才会传递 Referrer。 将当前页面过滤掉参数及路径部分,仅将协议、域名和端口(如果有的话)当作 Referrer。 类似于 origin ,但是不能降级。 跨域时(协议、域名和端口只有一个不同)和 origin 模式相同,否则 Referrer 还是传递当前页的全路径。 与 origin-when-cross-origin 类似,但不能降级。 任意情况下,都发送当前页的全部地址到 Referrer,最宽松和不安全的策略。 推荐的方式,直接在 Referrer-Policy 报头中设置。 通过指定 name 值为 referrer 的 meta 标签,也可以达到相同的效果: content 可以是上面的指定的值,也可以是下面这几种旧的指令值,会自动作相应的转换,但不推荐这些旧的指令值: <cite> Referrer Policy </cite> <cite> Referrer-Policy </cite> <cite> 浏览器的同源策略 </cite>
2023-01-01 21:44:241

如何获取https页的referrer

js完整代码: var refer=document.referrer; document.getElementById("backurl").value=refer; “HTTP_REFERER” 链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。
2023-01-01 21:44:302

http请求的时候Referrer-Policy是什么鬼?

什么是Referrer-Policy The Referrer-Policy HTTP header governs which referrer information, sent in the Referer header, should be included with requests made. 通俗点就是Referrer的策略, Referrer 就是 referrer 属性可返回载入当前文档的文档的 URL 。 Referrer-Policy: no-referrer Referrer-Policy: no-referrer-when-downgrade Referrer-Policy: origin Referrer-Policy: origin-when-cross-origin Referrer-Policy: same-origin Referrer-Policy: strict-origin Referrer-Policy: strict-origin-when-cross-origin Referrer-Policy: unsafe-url 如果值无效就是默认值。 no-referrer 整个 Referer 首部会被移除。访问来源信息不随着请求一起发送 no-referrer-when-downgrade (默认值) 在没有指定任何策略的情况下用户代理的默认行为。在同等安全级别的情况下,引用页面的地址会被发送(HTTPS->HTTPS),但是在降级的情况下不会被发送 (HTTPS->HTTP)。 origin 在任何情况下,仅发送文件的源作为引用地址。例如 https://example.com/page.html 会将 https://example.com/ 作为引用地址。 origin-when-cross-origin 对于同源的请求,会发送完整的URL作为引用地址,但是对于非同源请求仅发送文件的源。 same-origin 对于 同源的请求 会发送引用地址,但是对于非同源请求则不发送引用地址信息 strict-origin 在同等安全级别的情况下,发送文件的源作为引用地址(HTTPS->HTTPS),但是在降级的情况下不会发送 (HTTPS->HTTP)。 strict-origin-when-cross-origin 对于同源的请求,会发送完整的URL作为引用地址;在同等安全级别的情况下,发送文件的源作为引用地址(HTTPS->HTTPS);在降级的情况下不发送此首部 (HTTPS->HTTP)。 unsafe-url 无论是同源请求还是非同源请求,都发送完整的 URL(移除参数信息之后)作为引用地址。(最不安全的策略了) You can also set referrer policies in HTML documents. For example, by using a <meta> element with a name of referrer : Or by using the referrerpolicy attribute on <a> , <area> , <img> , <iframe> , or [ <link> ]( https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link "The HTML External Resource Link element (<link>) specifies relationships between the current document and an external resource. This element is most commonly used to link to stylesheets, but is also used to establish site icons (both "favicon" style icons and mobile home screen/app icons) among other things.")elements: Alternatively, a noreferrer link relation on an a, area, or link element can be set: CSS can fetch resources referenced from stylesheets. These resources are following a referrer policy as well. External CSS stylesheets use the default policy ( no-referrer-when-downgrade ) unless it"s overwritten via an HTTP header that is set for a CSS stylesheet specifically. For inline styles or styles created from APIs like HTMLElement.style , the owner document"s referrer policy is used. 规范 *(草案状态) https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-header 参考链接 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
2023-01-01 21:44:391

HTTP Referer 教程

现实生活中,购买服务或加入会员的时候,往往要求提供信息:"你从哪里知道了我们?" 浏览器向服务器请求资源的时候,Referer字段的逻辑是这样的,用户在地址栏输入网址,或者选中浏览器书签,就不发送Referer字段。 主要是以下三种场景,会发送Referer字段。 (1)用户点击网页上的链接。 (2)用户发送表单。 (3)网页加载静态资源,比如加载图片、脚本、样式。 上面这些场景,浏览器都会将当前网址作为Referer字段,放在 HTTP 请求的头信息发送。 浏览器的 JavaScript 引擎提供document.referrer属性,可以查看当前页面的引荐来源。注意,这里采用的是正确拼写。 上面链接点击产生的 HTTP 请求,不会带有Referer字段。 注意,rel="noreferrer"采用的是正确的拼写。 rel 属性只能定制单个元素的 Referer 行为,而且选择比较少,只能发送或不发送。W3C 为此制定了更强大的 Referrer Policy 。 Referrer Policy 可以设定8个值。 Referrer Policy 有 多种使用方法 。 (1)HTTP 头信息 服务器发送网页的时候,通过 HTTP 头信息的 Referrer-Policy 告诉浏览器。 (2)<meta>标签 也可以使用<meta>标签,在网页头部设置。 (3)referrerpolicy属性 <a>、<area>、<img>、<iframe>和<link>标签,可以设置referrerpolicy 属性。 还有一种比较老式的 技巧 ,但是非常有效,可以隐藏掉原始网址,谷歌和 Facebook 都在使用这种方法。 链接的时候,不要直接跳转,而是通过一个重定向网址,就像下面这样。 上面网址中,先跳转到/exit.php,然后再跳转到目标网址。这时,Referer字段就不会包含原始网址。 (完)
2023-01-01 21:44:441

如何获取https页的referrer

一般情况下,从HTTPS站到HTTP站点的跳转,浏览器默认不发送referrer,可以通过大概两种办法让浏览器传送referrer:在A站的head中加入<meta name="referrer" content="always">B站也采用HTTPS当然如果A站强制规定不发送referrer,B站又没有对A站的控制权,我们是无法控制让第三方统计工具统计到百度搜索来源关键词的。
2023-01-01 21:44:501

HTTP request header:host, referer, origin的区别

请求头指明了请求将要发送到的服务器主机名和端口号。 如果没有包含端口号,会自动使用被请求服务的默认端口(比如HTTPS URL使用443端口,HTTP URL使用80端口)。 所有HTTP/1.1 请求报文中必须包含一个 Host 头字段。对于缺少 Host 头或者含有超过一个 Host 头的HTTP/1.1 请求,可能会收到 400 (Bad Request)状态码。 例如:Host: developer.cdn.mozilla.net 指定要访问的服务器主机名和端口号 Referer 请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用 Referer 请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。 需要注意的是 referer 实际上是 "referrer" 误拼写。参见 HTTP referer on Wikipedia (HTTP referer 在维基百科上的条目)来获取更详细的信息。 Referer 请求头可能暴露用户的浏览历史,涉及到用户的隐私问题。 在以下两种情况下, Referer 不会被发送: 例如: 请求首部字段 Origin 指示了请求来自于哪个站点。该字段仅指示服务器名称,并不包含任何路径信息。该首部用于 CORS 请求或者 POST 请求(MDN中这样写,但是我试了patch/delete方法也会发送origin)。除了不包含路径信息,该字段与 Referer 首部字段相似。 例如:Origin: https://developer.mozilla.org 组成:协议+域名+端口号 注意:只有跨域请求(可以看到 response 有对应的 header:Access-Control-Allow-Origin),或者同域时发送post请求,才会携带origin请求头。 如果浏览器不能获取请求源,那么 origin 满足上面情况也会携带,不过其值为null。 而referer不论何种情况下,只要浏览器能获取到请求源都会携带。如果浏览器如果不能获取请求源,那么请求头中不会携带referer。 用于 CORS: 当我们的浏览器发出跨站请求时,服务器会校验当前请求是不是来自被允许的站点。服务器就是通过 Origin 字段的值来进行判断。 https://juejin.im/post/6844903954455724045#heading-0 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Origin https://www.ruanyifeng.com/blog/2016/04/cors.html
2023-01-01 21:44:561

把网页的referrer设置成空有影响吗

有影响。移动端无论是原生app还是传统的网页,返回上页是一个比较强烈的需求。 javascript 有一个可以获取前一页面的URL地址的方法:document.referrer
2023-01-01 21:45:051

no-referrer-when-downgrade什么意思

no-referrer-when-downgrade:仅当发生协议降级(如 HTTPS 页面引入 HTTP 资源,从 HTTPS 页面跳到 HTTP 等)时不发送 Referrer 信息。这个规则是现在大部分浏览器默认所采用的;在页面引入图片、JS 等资源,或者从一个页面跳到另一个页面,都会产生新的 HTTP 请求,浏览器一般都会给这些请求头加上表示来源的 Referrer 字段。Referrer 在分析用户来源时很有用,有着广泛的使用。但 URL 可能包含用户敏感信息,如果被第三方网站拿到很不安全。新的 Referrer Policy 规定了五种 Referrer 策略:No Referrer、No Referrer When Downgrade、Origin Only、Origin When Cross-origin、和 Unsafe URL。
2023-01-01 21:45:114

Meta 的 referrer 干什么用

引用策略就是从一个文档发出请求时,是否在请求头部定义 Referrer 的设置。 参考: Web 页面 Meta 的 Referrer Policy
2023-01-01 21:45:291

如何获取https页的referrer

js完整代码: var refer=document.referrer; document.getElementById("backurl").value=refer; “HTTP_REFERER” 链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。
2023-01-01 21:45:351

如何让浏览器在访问链接时不要带上referer

  我们在从一个网站点击链接进入另一个页面时,浏览器会在header里加上Referer值,来标识这次访问的来源页面。但是这种标识有可能会泄漏用户的隐私,有时候我不想让其他人知道我是从哪里点击进来的,能否有手段可以让浏览器不要发送Referer呢?  使用新增的html5的解决方案,使用rel=”noreferrer”,声明连接的属性为noreferrer,目前只有chrome4+支持.  使用中间页面,但实际上还是发送referrer的,比如使用Google的连接转向,noreferrer.js.  使用javascript协议链接中转,参见下面的说明.  新开一个窗口,相当于target=”_blank”:  function open_new_window(full_link){  window.open("javascript:window.name;", "<script>location.replace(""+full_link+"")</script>");  }  转向到一个连接,相当于target=”_self”:  function open_without_referrer(link){  document.body.appendChild(document.createElement("iframe")).src="javascript:"<script>top.location.replace(""+link+"")</script>"";  }
2023-01-01 21:45:411

html referrer

2023-01-01 21:45:471

如何获取https页的referrer

点击浏览器小锁,查看证书详情。
2023-01-01 21:45:532

火狐插件hackbar的Referrer怎么操作

1、Referrer是伪装来源地址的选项;2、在其对应的填写框录入要伪装的地址即可;3、执行hack操作即可模拟该Referrer。
2023-01-01 21:46:021

如何修改js里面的document.referrer值

js完整代码:<script language="javascript"> var refer=document.referrer; document.getElementById("backurl").value=refer;</script>“HTTP_REFERER”链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,这个变量不总是真实正确的。注意 document.referrer; 和“HTTP_REFERER” 中间差一个字母,却是不同的概念的东东,请注意使用js中的referrer使用,返回上一页在js中写上location.href = document.referrer;就可以实现跳转到上一个页面了,让用户觉得体验很好但是在IE中referrer就没那么尽人意了啊,IE会清空referrer众所周知,我们web开发人员痛恨IE浏览器,因为IE不支持标准,标准外的默认行为又和其他浏览器经常不一致:在IE中用javascript做跳转,比如用window.location.href = “http://www.google.com”; google无法取到浏览器请求的HTTP referrer,因为IE清空了document.referrer而其他主流浏览器Firefox和Chrome都会保留referrer,这意味着IE又要享受“部长级”特殊待遇了:view sourceif (/MSIE (d+.d+);/.test(navigator.userAgent)){ var referLink = document.createElement("a"); referLink.href = url; document.body.appendChild(referLink); referLink.click();}else { location.href = url; }这样的原理就是给IE浏览器的页面偷偷加了个链接,然后自动点这个链接,于是referrer就能保留了。
2023-01-01 21:46:071

在servlet中重定向一个url比如response.sendRedirect("url")怎样加上url的referrer呢?

你说的referrer是不是参数如果是参数的话response.sendRedirect("url")只需要在url后做如下修改response.sendRedirect("url?变量名=值")
2023-01-01 21:46:131

如何修改js里面的document.referrer值

document.referrer返回跳转或打开到当前页面的那个页面的URI。这是一个只读属性,不能被修改。
2023-01-01 21:46:221

火狐插件hackbar的Referrer怎么操作

1、Referrer是伪装来源地址的选项;2、在其对应的填写框录入要伪装的地址即可;3、执行hack操作即可模拟该Referrer。
2023-01-01 21:46:281

request.urlreferrer就是请求头中的referer吗

js完整代码: var refer=document.referrer; document.getElementById("backurl").value=refer; “HTTP_REFERER” 链接到当前页面的前一页面的 URL 地址。 不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。
2023-01-01 21:46:341

HTTP referer的作用。

告诉浏览器你从那个页面过来的
2023-01-01 21:46:403

从IOS的back问题中说起 (关于pageshow、pagehide、document.referrer、visibilitychange)

IOS中,网页的前进后退操作(包括 history.go() 、 history.back() 等)是直接进入其离开时的快照,不会重新触发页面的 load 事件。此时js从上次离开时的状态继续往下执行。 document.referrer 是一个字符串,内容为上一页面的URL 不同浏览器对load/unload/pageshow/pagehide表现不同,使用前需多加测试 第一次进入时,触发 pageshow ,此时 isPageHide 为 false 。离开页面时触发 pagehide , isPageHide 变为 true 。第二次进入时再次触发 pageshow ,此时 isPageHide 为 true ,成功触发页面刷新。 pageshow / pagehide 会在页面跳转前后触发,而 visibilitychange 会在页面被隐藏或显示时(如浏览器tab切换、窗口被最小化等)触发,配合 Document.hidden 可以实现如"页面被切到后台时停止声音播放,切到前台时恢复播放"等功能。
2023-01-01 21:46:521

如何让浏览器在访问链接时不要带上referer

meta标签加上<meta name="referrer" content="no-referrer" />可以让浏览器不发送referrer链接中加上rel="noreferrer"
2023-01-01 21:46:581

javascript 中 document.referrer 来源问题,求解,在线等

用document.URL或者location.href;不好意思,看错了。。。document.search可以取得参数串(page.asp?id=12) 书签形式的取不到
2023-01-01 21:47:103

The username you entered as your referrer could not be located什么意思

你输入的作为你的参照地址的用户名无法被定位。
2023-01-01 21:47:232

火狐插件hackbar的Referrer怎么操作

安装hackbar后,重启火狐,打开网页,您会发现标签栏处多了一些工具条,它就是HackBar插件,首次打开是开启的,可以通过F9来切换工具条是否显示。具体的使用方法,最好是找个详细的教程系统学习下。
2023-01-01 21:47:311

请问在网站后台统计的来源网址显示“escape(document.referrer)”是什么意思呀?

自己去网站上在查查..
2023-01-01 21:47:413

no-referrer-when-downgrade怎么处理

这是由于降级服务,所谓的降级服务就是如果你的主url是https协议的,但是内部你又嵌入了http协议(或者从https页面跳转到http页面),这就是https降级:本来安全性很高的https服务嵌入了不安全的http请求,所以,为了保证一些必要的机制,浏览器默认在这种情况下不发送referrer信息,可以参考:https://www.thankjava.com/foreend/a422ed64780292b32cde103f44f638b8
2023-01-01 21:47:521

为什么javascript的document.referrer 用程序伪装不了?

来路的伪装可不是通过修改document.referrer来实现的.而是通过发送 Request Headers来实现的,里面包含了所有的请求信息.
2023-01-01 21:47:581

是意思什么

不改变http header 中的 referer 的值,注意:这种情况下,如果当前页面使用了 https 协议,而要加载的资源使用的是 http 协议,加载资源的请求头中也会携带 referer。
2023-01-01 21:48:041

解决图片报错403

解决办法: <meta name="referrer" content="no-referrer" /> 原理: 请求图片的时候发送了一个http请求,这个http请求体的header中有个referrer字段,用来表示发起http请求的源地址信息。这个referrer信息是可以省略但不能修改,就是你可以设置是否携带上这个referrer信息,不能定制referrer里面的值。服务器在拿到这个referrer值后进行处理,通过referrer值判断请求是否来自本站,若不是则返回403或者重定向返回其他信息,从而实现图片或者其他资料的盗取。问题出现403 就是因为请求的是别人服务器上的资源,默认的把自己referrer信息带过去了,被对方服务器拦截了,出现403的报错。在前端可以通过meta标签来设置referrer policy(来源策略),就是把referrer设置成no-referrer,这样发送请求的时候就不会带上referrer信息,对方的服务器就无法拦截了。添加这个meta标签后,图片显示正常了。
2023-01-01 21:48:101

告急,我的document.referrer上一页的地址返回不出来啊

<script language="vbscript"> MsgBox document.referrer</script> 这样就可以了
2023-01-01 21:48:161

iframe如何获取父页面document.referrer(父页面的上一页的url)

你不要在这里误导parent.document.referrer 这个取值方式绝对可以如果不行,肯定是某个地方出了问题。
2023-01-01 21:48:223

iframe 为什么得不到 referrer

应该是你的IFRAME写在A页。
2023-01-01 21:48:342

http报文组成部分

概念:通用头部字段(请求头和响应头都会使用到) No Referrer: 任何情况下都不显示 referrer 信息 no-referrer-when-downgrade: 仅当协议降级(如HTTPS页面引入HTTP资源)时不发送Referrer信息。是大部分浏览器默认策略。 Origin Only: 发送只包含 host 部分的 referrer Origin When Cross-origin: 跨域时只发送 host 的 referrer 信息,同域全部发送 Unsafe URL: 全部发送 referrer 信息 close: 单次请求结束,关闭连接,新的请求需要重新建立连接 keep-alive: 允许保持持久连接 application/msword 代表 .doc application/vnd.openxmlformats-officedocument.wordprocessingml.document 代表 .docx application/vnd.ms-powerpoint 代表 .ppt application/pdf 代表 .pdf text/html 代表 .html UA-Color: 客户端显示器颜色 UA-CPU: 客户端CPU型号或制造商信息 UA-Disp: 客户端显示器能力相关信息 UA-OS: 客户端操作系统名称与版本 UA-Pixels: 客户端显示器的像素信息 实体首部: Content-Base: 主体中的相对 URL 时使用的基础 URL Content-Encoding: 对主体执行的任意编码方式 Content-Language: 主体时最适宜使用的自然语言 Content-Length: 主体长度 Content-Location: 实际所处位置 Content-MD5: 主体 MD5 校验和 Content-Range: 在整个资源中此实体表示的字节范围 Content-Type: 主体的对象类型
2023-01-01 21:48:431

redirect 重定向 http请求中 没有referer字段 怎么办

  HttpWebRequest有个AllowAutoRedirect的属性,设置为false就不会自动重定向了,你在收到服务器响应后,给webrequest的header内容加上referrer,再请求重定向的地址就OK了
2023-01-01 21:48:501

referer 是什么意思?

n. 推荐人,上线;介绍人 (其正确英语拼法是referrer,由于早期HTTP规范的拼写错误,为了保持向后兼容而将错就错)网络意义:referrer 网站来路;访问者进入 网站的任何途径。 HTTPReferrer是header的一部分,当浏览器向web服务器发出请求的时候,一般会带上Referer,告诉服务器用户从那个页面连接过来的,服务器藉此可以获得一些信息用于处理。HTTP 协议中有一个用来表示页面或资源来源的请求头,由 Philip Hallam-Baker 于上世纪 90 年代提出来,他当时把这个请求头叫做 Referer,并最终写进了 RFC1945,也就是 HTTP/1.0 协议:The Referer request-header field allows the client to specify, for the server"s benefit, the address (URI) of the resource from which the Request-URI was obtained. via有趣的是,当时这个单词被他拼错了,正确的拼写应该是 Referrer。但是这个错误被发现之前,已经被大量使用,如果要改过来需要所有服务端、客户端的一致配合,还有大量的代码需要排查修改。于是,HTTP 的标准制定者们决定将错就错,不改了。下面这段描述来自于 RFC2616,也就是著名的 HTTP/1.1 协议:The Referer[sic] request-header field allows the client to specify, for the server"s benefit, the address (URI) of the resource from which the Request-URI was obtained (the "referrer", although the header field is misspelled.) via可以看到,相比 HTTP/1.0,HTTP/1.1 除了加上了对这个错误的说明之外,没有其他变化。另外,那个[sic] 是拉丁文里「原文如此」的意思。很多其他标准在表述 HTTP 中的 Referer 请求头时,都会加上[sic],避免引起读者误解。由此可见,HTTP 标准制定者奉行实用主义,能用就行。由于 HTTP 协议继续拼错,浏览器当然只好按错的来,服务端收到的也是拼错的,所以大部分 Web Server、服务端语言或框架,都跟着拼错。举几个例子:Nginx:ngx_http_referer_module - used to block access to a site for requests with invalid values in the “Referer” header field;PHP:$_SERVER["HTTP_REFERER"] - The address of the page (if any) which referred the user agent to the current page;Django:HttpRequest.META.HTTP_REFERER – The referring page, if any;ThinkJS:Controller.referer() - 获取 referer;JavaScript 中的 Referrer这里说的 JavaScript,都是针对宿主为浏览器的场景,获取到的 referrer 属性都是由浏览器提供的。这一次,浏览器们比较齐心,都采用了正确的拼写方式,没有让这个错误在 JavaScript 中延续。例如 DOM Level 2 里定义的 document.referrer:Returns the URI [IETF RFC 2396] of the page that linked to this page. The value is an empty string if the user navigated to the page directly (not through a link, but, for example, via a bookmark). via最新的 Fetch API 中的 Request 接口,也有一个名为 referrer 的属性:The referrer attribute"s getter must return the empty string if request"s referrer is no referrer, "about:client" if request"s referrer is client and request"s referrer, serialized, otherwise. via更多关于 Fetch API 的介绍可以查看月影大大翻译的这篇文章:这个API很“迷人”——(新的Fetch API)。其他标准中的 Referrer其他标准,例如 Referrer Policy,也采用了正确的写法,并且明确表示不会兼容错误的拼写,例如在 Delivery via CSP 这一节写着:Note: The directive name does not share the HTTP header"s misspelling.结论HTTP 请求中的 Referer 是一个典型的拼写错误,历史悠久,可以预见还会一直错下去。也许以后Referer 会变成一个专有名词也说不定。所以,一般涉及到读取 HTTP 请求头的场景,我们需要用Referer 这种错误拼写;除此之外一般都要用 Referrer 这种正确的拼写。
2023-01-01 21:49:001

英语单词referee和referrer有什么区别?

referrer 引用、参照网址、引用者、推荐人、引荐referee 裁判、主裁判、裁判员、裁判、主裁如果配对出现,会是:referrer推荐人referee被推荐人
2023-01-01 21:49:0711

document.referrer和document.URL有什么区别?

js中我们可以document.referrer来判断页面来源document对象的referrer属性,返回导航到当前网页的超链接所在网页的URL。经过测试,需要将两个文件放在服务器中才能得到想要的结果,若直接在本地文件夹中则得到空字符串,若直接在浏览器地址栏中输入b.html的URL地址或使用打开菜单访问b.html,则document.referrer的值为空字符串。document.URL获取当前页面URL
2023-01-01 21:49:571

如何修改js里面的document.referrer值

js完整代码:<script language="javascript"> var refer=document.referrer; document.getElementById("backurl").value=refer;</script>“HTTP_REFERER”链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,这个变量不总是真实正确的。注意 document.referrer; 和“HTTP_REFERER” 中间差一个字母,却是不同的概念的东东,请注意使用js中的referrer使用,返回上一页在js中写上location.href = document.referrer;就可以实现跳转到上一个页面了,让用户觉得体验很好但是在IE中referrer就没那么尽人意了啊,IE会清空referrer众所周知,我们web开发人员痛恨IE浏览器,因为IE不支持标准,标准外的默认行为又和其他浏览器经常不一致:在IE中用javascript做跳转,比如用window.location.href = “http://www.hnnedu.com ”; google无法取到浏览器请求的HTTP referrer,因为IE清空了document.referrer而其他主流浏览器Firefox和Chrome都会保留referrer,这意味着IE又要享受“部长级”特殊待遇了:view sourceif (/MSIE (d+.d+);/.test(navigator.userAgent)){ var referLink = document.createElement("a"); referLink.href = url; document.body.appendChild(referLink); referLink.click();}else { location.href = url; }这样的原理就是给IE浏览器的页面偷偷加了个链接,然后自动点这个链接,于是referrer就能保留了。
2023-01-01 21:50:031

如何让浏览器在访问链接时不要带上referer

我们在从一个网站点击链接进入另一个页面时,浏览器会在header里加上Referer值,来标识这次访问的来源页面。但是这种标识有可能会泄漏用户的隐私,有时候我不想让其他人知道我是从哪里点击进来的,能否有手段可以让浏览器不要发送Referer呢?使用新增的html5的解决方案,使用rel=”noreferrer”,声明连接的属性为noreferrer,目前只有chrome4+支持.使用中间页面,但实际上还是发送referrer的,比如使用Google的连接转向,noreferrer.js.使用javascript协议链接中转,参见下面的说明.新开一个窗口,相当于target=”_blank”:function open_new_window(full_link){window.open("javascript:window.name;", "<script>location.replace(""+full_link+"")</script>");}转向到一个连接,相当于target=”_self”:function open_without_referrer(link){document.body.appendChild(document.createElement("iframe")).src="javascript:"<script>top.location.replace(""+link+"")</script>"";}
2023-01-01 21:50:091

火狐插件hackbar的Referrer怎么操作

UC浏览器。这个好,省流量。而且快,我的诺基亚的就是用UC的
2023-01-01 21:50:151

为什么document.referrer得不到值?

只有在Web服务器上运行时才能得到值!
2023-01-01 21:50:211

如何让浏览器在访问链接时不要带上referer

  让浏览器在访问链接时不要带上referer的方法 1、使用新增的html5的解决方案,使用rel="noreferrer",声明连接的属性为noreferrer,目前只有chrome4+支持.  2、使用中间页面,但实际上还是发送referrer的,比如使用Google的连接转向,noreferrer.js.  3、使用javascript协议链接中转,参见下面的说明.  新开一个窗口,相当于target="_blank":  转向到一个连接,相当于target="_self":  
2023-01-01 21:50:271

html之document

document.all是指文档内部的所有标签,从html开始 document.anchors指的是页面中所有的锚点,页面中锚点跳转的方法目前总结2种: 1.采用name的形式:<a href="#top"></a>在要跳往的位置设置<a name="top"></a>(记得一定要是a标签) 2.采用id的形式:<a href ="#bottom"></a>在要跳往的位置设置<div id="bottom"></div>(任意标签都可以) 小结:经过测试id的这种在document.anchors并不能获取,且document.anchors.length的个数是由有几个<a name="***"></a>决定的 document.forms指获取页面中的所有的表单form(有多少个form标签document.forms,length就是多少) 关于form表单上面常用的一些属性: 1.action:请求的地址,即表单的值发往的地址 2.method:请求的方式,值有post和get 3.enctype:请求的值怎样编码,值: application/x-www-form-urlencoded(默认,编码,将空格转换成"+",其它特殊字符转换成ASCII-HEX值) multipart/form-data(不编码,但是上传文件等必须用这种格式) text/plain(将空格转换成"+") 4.name:表单的名字 5.novalidate:值为novalidate,当有此值得时候,对表单里面的值不做校验,如特殊类型email,number等 6.target:规定在何种窗口打开action的url(还可以指定窗口名字哦) 7.accept_charset:服务器端可处理的字符集(可以规定一个或者多个,用逗号隔开) document.images指文档中的img的个数,注意通过js appendChild进去的也算 document.links指文档中间Area和link对象的个数,目前测试来说,只有area和a标签计算在其中 关于area标签的使用:(点击图像的某一块区域跳转到哪里) area标签是和map标签配套使用的,主要使用方法和锚点的有点像,在要映射的图片(img标签)上面加入usemap的属性(usemap="#***")然后在map标签上面加入id或者name等于usemap属性的值(建议id和name都加,各浏览器不同,Google的支持name),然后用map包裹area标签 area标签的属性如下: alt:计算此区域失败时,显示的文字 shape:此区域的形状,值有:rect或者rectangle(矩形),circle或者circ(圆形),poly或者polygon(多边形) href:跳转的链接,绝对连接,相对连接,锚链接(和a连接中的锚链接比较像"#***") coords:画图形的时候的坐标,和shape配合使用,当时圆形的时候,为(x,y,r);当时矩形的时候为(x1,y1,x2,y2)两对角坐标,当是多边形的时候,为(x1,y1...xn,yn)为每个坐标点 target:规定在何种窗口下打开href,有如下几种值(href为锚链接也适用) 1._blank:在新窗口中打开 2._self:在当前窗口中打开(默认) 3._parent:在父窗口中打开 4._top:在整个窗口中打开 5.还可以自定义窗口 document.body直接拿文档中的body元素(并没有获取iframe的元素) document.cookie直接拿文档中的所有的cookie,注意遵循cookie的原则,例如,在别的页面设置的cookie,但是在当前页面下是拿的到的,document.cookie是获取的到该值的,如果是同源的用iframe引入的,也是获取的到的 document.domain是指文档当前的服务器域名 document.lastModified是指文档被修改的最后日期 document.referrer是指载入当前文档的文档的url,有点绕是不是,对的,他并不是指当前文档的url噢,例如,当前文档是直接打开的,那么document,referrer为空,如果是通过a链接跳转过去的,则是上一个页面的url,如果是iframe载入进来的,则是承载这个iframe的父文档 document.title是指返回当前文档的标题 document.URL是指返回当前文档的url(记得url是大写的URL,小写的是获取不到的) document.getElementById是指获取指定id的第一个元素 document.getElementsByName是指获取指定的name元素的集合,注意,name元素可能不止一个哦 document.getElementsByTagName是指获取指定元素标签的聚合,注意当输入的为‘*",则为所有的元素,元素的排列顺序按照html的顺序来(传给document.getElementsByTagName的字符串可以不区分大小写,即div可以写成Div) 其实两者含义是差不多的,都是在文档里面写入html或者脚本,需要注意的是如果有延时等,在页面加载完了写入的时候,会重新加载文档流,导致页面之前的内容会没有了,他们的区别是用writeln的时候,文本后面会有一个换行符,在页面上面的体现是有一个空格,注意如果没有加document.open()和document.close(),会自动加上这两个,不过建议每次使用的时候手动加上 document.open(参数一,参数二)是指打开新的文档流,参数一是指打开新的文档编写的类型,参数二是指是否继承父文档的条目(测试了很多遍,不知道咋回事) document.close()是指关闭文档流
2023-01-01 21:50:331

弹出页面

//关闭,父窗口弹出对话框,子窗口直接关闭this.Response.Write("<script language=javascript>window.close();</script>");//关闭,父窗口和子窗口都不弹出对话框,直接关闭this.Response.Write("<script>"); this.Response.Write("{top.opener =null;top.close();}"); this.Response.Write("</script>");//弹出窗口刷新当前页面width=200 height=200菜单。菜单栏,工具条,地址栏,状态栏全没有this.Response.Write("<script language=javascript>window.open("rows.aspx","newwindow","width=200,height=200")</script>");//弹出窗口刷新当前页面this.Response.Write("<script language=javascript>window.open("rows.aspx")</script>"); this.Response.Write("<script>window.open("WebForm2.aspx","_blank");</script>");//弹出提示窗口跳到webform2.aspx页(在一个IE窗口中)this.Response.Write(" <script language=javascript>alert("注册成功");window.window.location.href="WebForm2.aspx";</script> ");//关闭当前子窗口,刷新父窗口this.Response.Write("<script>window.opener.location.href=window.opener.location.href;window.close();</script>"); this.Response.Write("<script>window.opener.location.replace(window.opener.document.referrer);window.close();</script>");//子窗口刷新父窗口this.Response.Write("<script>window.opener.location.href=window.opener.location.href;</script>"); this.Response.Write("<script>window.opener.location.href="WebForm1.aspx";</script>");//弹出提示窗口.确定后弹出子窗口(WebForm2.aspx)this.Response.Write("<script language="javascript">alert("发表成功!");window.open("WebForm2.aspx")</script>"); //弹出提示窗口,确定后,刷新父窗口this.Response.Write("<script>alert("发表成功!");window.opener.location.href=window.opener.location.href;</script>");//弹出相同的一页<INPUT type="button" value="Button" onclick="javascript:window.open(window.location.href)">// Response.Write("parent.mainFrameBottom.location.href="yourwebform.aspx?temp=" +str+"";");<SCRIPT LANGUAGE="javascript"> <!-- window.open ("page.html", "newwindow", "height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no") //这句要写成一行 --> </SCRIPT> 参数解释: <SCRIPT LANGUAGE="javascript"> js脚本开始; window.open 弹出新窗口的命令; "page.html" 弹出窗口的文件名; "newwindow" 弹出窗口的名字(不是文件名),非必须,可用空""代替; height=100 窗口高度; width=400 窗口宽度; top=0 窗口距离屏幕上方的象素值; left=0 窗口距离屏幕左侧的象素值; toolbar=no 是否显示工具栏,yes为显示; menubar,scrollbars 表示菜单栏和滚动栏。 resizable=no 是否允许改变窗口大小,yes为允许; location=no 是否显示地址栏,yes为允许; status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许; </SCRIPT> js脚本结束"newwin":隐藏菜单栏地址栏工具条 width=50:宽度 height=50:高度 scrollbars=yes/no:滚动条 top=50:窗口距离屏幕上方 left=50:窗口距离屏幕左侧 例:window.open("detail.aspx?ID="+e.Item.Cells[1].Text+"","newwin","width=750,height=600,scrollbars=yes,top=50,left=50");"); this.Response.Write("<Script>window.open("WebForm2.aspx","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=750,height=470,left=80,top=40");</script>");[/quote]例: this.Response.Write("<script>alert("发表成功!");window.opener.location.href=window.opener.location.href;</script>"); this.Response.Write("<script>"); this.Response.Write("{top.opener =null;top.close();}"); this.Response.Write("</script>");例: linkcolumn1.DataNavigateUrlFormatString="javascript:varwin=window.open("edit_usr.aspx?actid={0}","newwin","width=750,height=600,scrollbars=yes,top=50,left=50");window.close()";this.Response.Write("<Script>window.open("WebForm7.aspx","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=750,height=470,left=80,top=40");</script>"); 弹出跟你当前的窗口有没有菜单工具栏没有关系,你只要在页面中写一个脚本它就弹出了.比如<a href=# onclick="window.open("xxx.aspx","窗口名称","参数");">xxxxx</a>以下列出一些弹出窗口的参数,你可自行设定,参数之间用逗号分隔可选。字符串--列出对象表并用逗号分开。每一项都有自己的值,他们将被分开(如:"fullscreen=yes, toolbar=yes")。下面是被支持的各种特性。 channelmode = { yes | no | 1 | 0 } 是否在窗口中显示阶梯模式。默认为no。 directories = { yes | no | 1 | 0 } 是否在窗口中显示各种按钮。默认为yes。 fullscreen = { yes | no | 1 | 0 } 是否用全屏方式显示浏览器。默认为no。使用这一特性时需要非常小心。因为这一属性可能会隐藏浏览器的标题栏和菜单,你必须提供一个按钮或者其他提示来帮助使用者关闭这一浏览窗口。ALT+F4可以关闭窗口。一个全屏窗口必须使用阶梯(channelmode)模式。 height = number 指定窗口的高度,单位是像素。最小值是100。 left = number 指定窗口距左边框的距离,单位是像素。值必须大于或者等于0。 location = { yes | no | 1 | 0 } 指定是否在窗口中显示地址栏。默认为yes。 menubar = { yes | no | 1 | 0 } 指定是否在窗口中显示菜单栏。默认为yes。 resizable = { yes | no | 1 | 0 } 指定是否在窗口中显示可供用户调整大小的句柄。默认为yes。 scrollbars = { yes | no | 1 | 0 } 指定是否在窗口中显示横向或者纵向滚动条。默认为yes。 status = { yes | no | 1 | 0 } 指定是否在窗口中显示状态栏。默认为yes。 titlebar = { yes | no | 1 | 0 } 指定是否在窗口中显示标题栏。在非调用HTML Application或者一个对话框的情况下,这一项将被忽略。默认为yes。 toolbar = { yes | no | 1 | 0 } 指定是否在窗口中显示工具栏,包括如前进、后退、停止等按钮。默认为yes。 top = number 指定窗口顶部的位置,单位是像素。值必须大于或者等于0。 width = number 指定窗口的宽度,单位是像素。最小值是100。【1、最基本的弹出窗口代码】 <SCRIPT LANGUAGE="javascript"> <!-- window.open ("page.html") --> </SCRIPT> 因为这是一段javascripts代码,所以它们应该放在之间。是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。window.open ("page.html") 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。这一段代码可以加入HTML的任意位置,和之间可以,间也可以,越前越早执行,尤其是页面代码长,又想使页面早点弹出就尽量往前放。 【2、经过设置后的弹出窗口】 下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。我们来定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。 <SCRIPT LANGUAGE="javascript"> <!-- window.open ("page.html", "newwindow", "height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no") //这句要写成一行 --> </SCRIPT> 参数解释: <SCRIPT LANGUAGE="javascript"> js脚本开始; window.open 弹出新窗口的命令; "page.html" 弹出窗口的文件名; "newwindow" 弹出窗口的名字(不是文件名),非必须,可用空""代替; height=100 窗口高度; width=400 窗口宽度; top=0 窗口距离屏幕上方的象素值; left=0 窗口距离屏幕左侧的象素值; toolbar=no 是否显示工具栏,yes为显示; menubar,scrollbars 表示菜单栏和滚动栏。 resizable=no 是否允许改变窗口大小,yes为允许; location=no 是否显示地址栏,yes为允许; status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许; </SCRIPT> js脚本结束 【3、用函数控制弹出窗口】 下面是一个完整的代码。 <html> <head> <script LANGUAGE="JavaScript"> <!-- function openwin() { window.open ("page.html", "newwindow", "height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") //写成一行 } //--> </script> </head> <body onload="openwin()"> 任意的页面内容... </body> </html> 这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。怎么调用呢? 方法一: <body onload="openwin()"> 浏览器读页面时弹出窗口; 方法二: <body onunload="openwin()"> 浏览器离开页面时弹出窗口; 方法三:用一个连接调用: <a href="#" onclick="openwin()">打开一个窗口</a> 注意:使用的“#”是虚连接。 方法四:用一个按钮调用: <input type="button" onclick="openwin()" value="打开窗口"> 【4、同时弹出2个窗口】 对源代码稍微改动一下: <script LANGUAGE="JavaScript"> <!-- function openwin() { window.open ("page.html", "newwindow", "height=100, width=100, top=0, left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=n o, status=no")//写成一行 window.open ("page2.html", "newwindow2", "height=100, width=100, top=1 00, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, loca tion=no, status=no")//写成一行 } //--> </script> 为避免弹出的2个窗口覆盖,用top和left控制一下弹出的位置不要相互覆盖即可 。最后用上面说过的四种方法调用即可。 注意:2个窗口的name(newwindows和newwindow2)不要相同,或者干脆全部为空。 【5、主窗口打开文件1.htm,同时弹出小窗口page.html】 如下代码加入主窗口区: <script language="javascript"> <!-- function openwin() { window.open("page.html","","width=200,height=200") } //--> </script> 加入<body>区: <a href="1.htm" onclick="openwin()">open</a>即可。 【6、弹出的窗口之定时关闭控制】 下面我们再对弹出的窗口进行一些控制,效果就更好了。如果我们再将一小段 代码加入弹出的页面(注意是加入page.html的HTML中,不是主页面中),让它10秒后自动关闭是不是更酷了? 首先,将如下代码加入page.html文件的区: <script language="JavaScript"> function closeit() { setTimeout("self.close()",10000) //毫秒 } </script> 然后,再用 这一句话代替page.html中原有的这一句就可以了。(这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码,10秒钟后就自行关闭该窗口。)【7、在弹出窗口中加上一个关闭按钮】<FORM> <INPUT TYPE="BUTTON" VALUE="关闭" onClick="window.close()"> </FORM> 呵呵,现在更加完美了!【8、内包含的弹出窗口-一个页面两个窗口】 上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。通过下面的例子,你可以在一个页面内完成上面的效果。<html> <head> <SCRIPT LANGUAGE="JavaScript"> function openwin() { OpenWindow=window.open("", "newwin", "height=250, width=250,toolbar=no ,scrollbars="+scroll+",menubar=no"); //写成一行 OpenWindow.document.write("<TITLE>例子</TITLE>") OpenWindow.document.write("<BODY BGCOLOR=#ffffff>") OpenWindow.document.write("<h1>Hello!</h1>") OpenWindow.document.write("New window opened!") OpenWindow.document.write("</BODY>") OpenWindow.document.write("</HTML>") OpenWindow.document.close() } </SCRIPT> </head> <body> <a href="#" onclick="openwin()">打开一个窗口</a> <input type="button" onclick="openwin()" value="打开窗口"> </body> </html> 看看OpenWindow.document.write()里面的代码不就是标准的HTML吗?只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用 OpenWindow.document.close()结束啊。【9、终极应用--弹出的窗口之Cookie控制】 回想一下,上面的弹出窗口虽然酷,但是有一点小毛病,比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页),那么每次刷新这个页面,窗口都会弹出一次,我们使用cookie来控制一下就可以了。 首先,将如下代码加入主页面HTML的区:<script> function openwin(){ window.open("page.html","","width=200,height=200") } function get_cookie(Name) { var search = Name + "=" var returnvalue = ""; if (document.cookie.length > 0) { offset = document.cookie.indexOf(search) if (offset != -1) { offset += search.length end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; returnvalue=unescape(document.cookie.substring(offset, end)) } } return returnvalue; } function loadpopup(){ if (get_cookie("popped")==""){ openwin() document.cookie="popped=yes" } } </script> 然后,用 <body onload="loadpopup()">(注意不是openwin而是loadpop啊!)替换主页面中原有的这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。
2023-01-01 21:50:391

什么是DNS劫持?什么是HTTP劫持?

DNS劫持:一般bai而言,用户上网的DNS服务器都是du运营商分配的,所以,在这zhi个节点上,运营商可以为所欲为。dao例如,访问ht tp://jiankang.qq.com/index.html,正常DNS应该返回腾讯的ip,而DNS劫持后,会返回一个运营商的中间服务器ip。访问该服务器会一致性的返回302,让用户浏览器跳转到预处理好的带广告的网页,在该网页中再通过iframe打开用户原来访问的地址。HTTP劫持:在运营商的路由器节点上,设置协议检测,一旦发现是HTTP请求,而且是html类型请求,则拦截处理。后续做法往往分为2种,1种是类似DNS劫持返回302让用户浏览器跳转到另外的地址,还有1种是在服务器返回的HTML数据中插入js或dom节点
2023-01-01 21:50:494