获取要求访问其他网站的网站域名

时间:2018-04-24 13:08:04

标签: javascript jquery asp.net-mvc-4

我有2个不同的网站需要整合。我们将它们命名为Web1和Web2。 我想在允许访问Web2之前验证请求的Web1是否确实是Web1。

Request.Url.Host只会获取当前网站的域名。 我需要的是在Web2 C#代码中验证Web1的域。

目前,这就是我从Web1调用Web2的方式。

for i:Int in 0..< string.count {
     let char = NSString(format: "%c", (string as NSString).character(at: i))
     print(char) //Optionally you can convert using 'char as String'
}

由于

1 个答案:

答案 0 :(得分:1)

URL referrer和Origin标头可以被欺骗。所以它不可靠。

我能够看到能够接近可靠解决方案的唯一方法是添加服务器到服务器通信以执行两个应用程序之间的切换。

因此,在您的点击事件中,会发生以下情况:

  1. 浏览器向Web1发出AJAX调用以请求Web2的URL
  2. Web1进行HTTP调用(从服务器)到Web2
  3. Web2返回一个唯一的URL(例如,http:\\ Web2.com \ FromWeb1 \ 8247983659(或者可能带有GUID,无论你想要什么)
  4. Web1将唯一的URL返回给浏览器
  5. 浏览器会将用户重定向到唯一的网址
  6. Web2验证所使用的URL是否为其生成的URL,从而知道用户来自Web1
  7. 您仍然需要在步骤2中进行一些身份验证,以便Web2知道它是Web1进行调用,但至少该身份验证不会暴露给浏览器。