c# - 弹出 - 阻止了带有来源的框架

标签 c# javascript html asp.net-mvc paypal

我正在尝试使用 paypal 实现登录,我有 2 个不同的主机域

1- www.example.com

2- www.example.de

对于 paypal,我需要为此目的选择一个返回 URL,我选择了 www.example.com/callbackfrompaypal

所以在我的 callbackfrompaypal

 if (!redirectUrl.Host.Equals(_dependencies.HttpRequestContextService.Request.Url.Host, StringComparison.OrdinalIgnoreCase)) //return back orginal domain
 {
     return View(redirectUrl); //If uri host is different than user's host turn back to user's host
 }

redirect Url 是用返回域创建的URI[查询参数,可以得到原始主机]

所以如果用户从 www.example.de 进入并尝试登录,paypal 会像那样给我回电话

www.example.com/callbackfrompaypal?redirectUrl=www.example.de

然后我比较重定向 URL 和当前 URL,如果它们不相同,我将重定向

www.example.de/callbackfrompaypal?redirectUrl=www.asdasd.de

但它将在 POP UP 中完成,正如你们猜测的那样,BROWSERS 告诉我 Blocked a frame with origin "https://www.example.com "from accessing a frame with origin"https://www.example.de "

你们能告诉我如何解决这个问题吗

最佳答案

这是一项安全措施,您真的不能使用 Javascript 访问包含来自不同站点的内容的框架,那将是一个巨大的安全漏洞。

如果你想这样做,你必须在使用 paypal 之前重新加载你的 .com 域上的页面,否则你需要在你的服务器上存储信息,然后重定向到 < strong>.com 域,但我建议您使用第一个选项。

关于c# - 弹出 - 阻止了带有来源的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25863521/

相关文章:

javascript - 需要帮助澄清 Parse.User.setPassword 文档

javascript - 如何正确重置浏览器样式(如 <button>)?

html - Twitter Bootstrap 响应式导航栏 - 居中链接

anchor div 上方的 HTML/CSS anchor

c# - Dictionary KeyNotFoundException 即使 Key 存在

c# - RavenDB 快速子串搜索

javascript - 匹配两个 punkts 正则表达式

html - 不使用 div 的固定表头表头

c# - C#中的强类型资源文件

c# - 使用 OpenXML 将 Word docx 转换为 Excel