如何在角度2中使用http referrer?

时间:2018-01-25 05:07:57

标签: angular typescript

我的Angular4项目中有一个视图,它只能从我的快速服务器重定向。我不想让用户以其他方式查看视图。

我找到了一种使用HTTP referrer执行此操作的方法。在JavaScript中,Http referrer使用如下。如何在Angular4中使用它?

if (document.referrer) {
  var myReferer = document.referrer;
  document.write(myReferer);
}

2 个答案:

答案 0 :(得分:0)

假设您已经有一个URL表示您正在发出GET请求。确保已在服务或要进行此GET调用的组件中注入HTTP依赖项。执行以下代码。

 this.http.get(url, {search}).subscribe(res => console.log(res.json().headers.Referer));
 //res is the response that you get which has been converted to JSON and then 
 //the referer property can be obtained from the headers

参考这个plunker:http://plnkr.co/edit/bMCCtNP4W9Rq0m7IpTZf?p=preview

和script.ts中的doGet方法(现有的plunker - 分叉它来回答你的问题)

您可以转到浏览器控制台中的“网络”标签,验证您是否获得了正确的引用。浏览器控制台 - >网络 - >选择请求 - >标题标签 - >请求标题块

答案 1 :(得分:0)

如果您尝试通过域或IP地址限制访问,最好在服务器上执行此操作。这可以通过Apache中的.htaccess文件或在IIS的web.config中使用ipsecurity来实现。