使用域名

时间:2017-08-20 20:50:26

标签: javascript polymer-2.x custom-element polymerfire

我正在尝试使用Polymer Custom Element实现以下功能。

  • 检测请求来自的位置以呈现自定义元素
  • 如果域名匹配[基本上 - 如果已授权],则呈现自定义元素模板
  • 如果域名不匹配/未授权重定向到错误页面聚合物模板

我创建了一个自定义HTML元素 - 我提供给其他网站;如果其他网站/域名授权我的网站 - 那么只有我应该显示自定义聚合物元素/否则我应该显示错误模板。

  

这可能吗?

     

或者当有人将 my-custom-element 添加到他们的网站时,他们可以无限制地使用它来实现?   如果我遗漏了一些明显的东西,请告诉我。

以下聚合物元素也没有为我提供任何能够达到预期效果的能力。

<app-route>
<app-route-converter>

例如:

假设某人在其网站/ HTML网页中使用 my-custom-element.html

如果my-custom-element.html用于有效/授权域;那么它应该服务于自定义的Polymer元素;如果 my-custom-element.html 用于无效/未授权的域 - 在这种情况下,它应显示元素模板的错误部分。

有效用例:

  • xyz.com /
  • subdomain.xyz.com /
  • xyz.com / *

无效的用例:

  • anyotherdomain.com

请注意:我目前正在使用Oauth提供程序对域所有者进行身份验证。但是那些Oauth令牌不会与来自各自站点的所有请求一起传递。我授权有效性的方式是使用“域名”[如果它已在我的网站上注册]

1 个答案:

答案 0 :(得分:0)

所以你想限制你创建自定义元素的位置吗?

我的意思是你可以做一个简单的

constructor() {
  if (!this.location.href.match('https://stackoverflow.com') { 
    return false; 
  }
  super();
}

你的元素。

但是,这就像防止右键单击一样可以防止您的照片被复制。 (例如根本不是)。如果你的目标只是阻止非技术人员,它仍然可以解决问题。