我最近注意到一个非常古怪的趋势,我对此感到困惑。在过去的一两个月里,我开始注意到没有引用标头的网站会崩溃。
作为背景:您当然会记得引用标头被滥用来执行从功能检测到某些误导性的安全外观等一系列事情的古老时代。仍然有一些遗留站点依赖它,但在大多数情况下,引用标头已降级为糟糕的设备检测。
想象一下,当没有一个但三个现代网站在没有推荐人的情况下突然崩溃时,我会感到惊讶。
Codepen:笔预览和整页视图刚刚中断(i.imgur.com/3abXqsC.png)。但编辑器视图完美运行。
Twitter:基本上每个交互功能都会中断。如果您尝试发推、转推、收藏等,您会收到一个通用的无描述性错误 (i.imgur.com/E6tIKFo.png)。如果您尝试更新设置,它只会直接拒绝 (403) (i.imgur.com/51e2d0M.png)。
Imgur:它只是无法上传任何内容 (i.imgur.com/xCWpkGX.png) 并最终放弃 (i.imgur.com/iO2UlR6.png)。
这三个都是现代网站。自从我开始使用 Codepen 以来,它就已经坏了,所以我不确定它是否总是这样,但 Twitter 和 Imgur过去在没有引用的情况下工作得非常好。事实上,我刚刚注意到 Imgur 坏了。
此外,它们都只生成非描述性的错误消息,如果有的话,根本无法识别问题。前两次我花了很多反复试验才弄明白,现在我尝试将引用标头作为第一件事。可是等等!还有更多!解除它们所需要的只是发送一个作为主机根目录的通用引用(即 twitter.com、codepen.io、imgur.com)。您甚至不需要使用带有目录路径的实际 URL!
一个网站,我可以把它归结为糟糕的代码。但是三个主要的现代网站——尤其是当它们过去工作时——是一个巨大的头疼。
有没有其他人注意到这种趋势或知道wtf正在发生?
PHP错误日志通常如下所示:
[Tue Sep 02 15:46:13 2014] [error] [client 192.168.0.105] blah, blah, ... , referer: https://192.168.0.21/blah/blah
[Tue Sep 02 15:46:13 2014] [error] [client 192.168.0.105] blah, blee, ... , referer: https://192.168.0.21/blah/blee
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它们看起来像这样?
[Tue Sep 02 15:46:13 2014] [error] [client 192.168.0.105] blah, blah, ...
[Tue Sep 02 15:46:13 2014] [error] [client 192.168.0.105] blah, blee, ...
Run Code Online (Sandbox Code Playgroud)
我尝试了$_SERVER['HTTP_REFERER']='';但是(毫不奇怪)没有帮助.
页面A包含javascripts函数执行XMLHttpRequest.页面A加载页面B中的iframe.页面B执行parent.makeRequest()函数,该函数又执行XHR请求.我希望XHR请求的引用者/来源是页面B,但它是页面A.有没有什么办法解决这一问题?
我绞尽脑汁为什么这不起作用.
我想要实现的是限制访问我自己网站上的页面,只有来自某个网站,例如Facebook.
由于链接将在一个或多个Facebook页面和/或我的个人资料中发布,因此如果来自Facebook和/或其发布的任何其他"PAGES",则希望脚本执行.
例如,如果我在www.facebook.com/This_is_my_PAGE上发布我的链接或发布在我的个人资料www.facebook.com/freds_personal_profile或某人在Facebook上分享我的链接,那么该页面只能访问来自Facebook的人域.
我在搜索解决方案时找到了下面的脚本,但它正在回显我的错误消息,而不是重定向到相关链接.
$target_site = 'https://www.facebook.com/';
if (isset($_SERVER['HTTP_REFERER']) && preg_match("/$target_site/",$_SERVER['HTTP_REFERER'])) {
// do something with people from facebook.com
}
else {
// do something else with everyone else
echo "Sorry, viewable to Facebook fans only.";
}
Run Code Online (Sandbox Code Playgroud) def total
puts requeset.referrer
transactions = UTransaction.all
render json: amount(transactions)
end
Run Code Online (Sandbox Code Playgroud)
我在控制台中收到以下错误
Completed 500 Internal Server Error in 38ms
NameError (undefined local variable or method `requeset' for #<Api::V1::Admin::UTransactionsController:0x007f98d49539d0>)
Run Code Online (Sandbox Code Playgroud) 我想禁用 iframe 嵌入页面,从我的网站到其他网站,我制作了这个 js:
<script type="text/javascript">
if(document.referrer.indexOf("mydomain.com") != -1) {
window.location = "http://www.youtube.com/watch_popup?v=oHg5SJYRHA0";
}
</script>
脚本有效,但我有 page01.php 和 page02.php
我想在 page01.php 源代码中为 page02.php 插入 iframe
<iframe src="page02.php"></iframe>
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我被重定向到:
http://www.youtube.com/watch_popup?v=oHg5SJYRHA0
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题? 谢谢
我正在编写一个程序来使用
Mojo::UserAgent
我想设置Referer标题值,但我不知道如何设置。
my $ua = Mojo::UserAgent->new();
my $data = $ua->get('https://test.com')->res->body;
print $data,"\n";
Run Code Online (Sandbox Code Playgroud) 我想referers从我的默认位置路径加载随机列表,例如:'referers.txt'而不是直接添加“facebook url 作为引用者。
我的代码:
browser = await puppeteer.getBrowserInstance(port);
const page = await browser.newPage();
page.setDefaultTimeout(PAGE_DEFAULT_TIMEOUT * 1000);
page.on('error', handlePageCrash(page));
page.on('pageerror', handlePageCrash(page));
page.setExtraHTTPHeaders({ referer: 'https://www.facebook.com/' });
Run Code Online (Sandbox Code Playgroud) 尝试使用引用打开 PDF(-网站),该引用只能通过在父页面上单击链接打开。
通过使用
CreateObject(WinHttp.WinHttpRequest.5.1)
.setRequestHeader "referer", "https://...“
Run Code Online (Sandbox Code Playgroud)
访问有效,但我需要在浏览器中打开页面才能查看 pdf。
发现这个:
语法:object.Navigate2(URL, Flags, TargetFrameName, PostData, Headers)
( PostData [in, optional] Headers [in, optional] )
并尝试
Dim IE As InternetExplorer
Set IE = New InternetExplorer
With IE
.Navigate2
https://main...,
"https://referer..."
Run Code Online (Sandbox Code Playgroud)
没有结果!有没有人有办法解决吗?(请只使用 VBA!谢谢)
我正在尝试将事件归因于流量日志中的源.对于任何半精明的技术营销人员或网站管理员而言,这似乎是相当基本的领域,但我已经用Google搜索了一下,而且令人惊讶的是,似乎没有人覆盖这一点.
背景:我使用T-SQL,我们正在SQL Server上运行2016年我的事件日志(HAProxy的)是这个样子,哪里RefererHost是'%mysite%'内部推荐,但也可以是其他任何外部推荐(入口).
User Agent || IP || RefererHost || Event || CreationDate
------------------------------------------------------------------------------
qwertyuiop || 99.99.99.9 || google.com || Home/View || 2015-05-29 00:00:25
------------------------------------------------------------------------------
qwertyuiop || 99.99.99.9 || mysite/x || Home/View || 2015-05-29 00:00:27
------------------------------------------------------------------------------
abcdefghij || 11.11.11.1 || yahoo.com || Home/View || 2015-05-29 00:00:49
------------------------------------------------------------------------------
qwertyuiop || 99.99.99.9 || mysite/y || Submit || 2015-05-29 00:01:28
------------------------------------------------------------------------------
abcdefghij || 11.11.11.1 || mysite/p || Photo/View || 2015-05-29 00:02:04
------------------------------------------------------------------------------
abcdefghij || 11.11.11.1 || mysite/n || …Run Code Online (Sandbox Code Playgroud) referer ×10
javascript ×3
http-referer ×2
php ×2
createobject ×1
error-log ×1
excel ×1
haproxy ×1
header ×1
http ×1
iframe ×1
node.js ×1
perl ×1
puppeteer ×1
request ×1
restrict ×1
sql ×1
t-sql ×1
vba ×1
web-scraping ×1