c# - 仅从特定网站重定向

标签 c# .net asp.net-mvc asp.net-core

我正在处理只能通过重定向命令打开的 .NET Framework 网站。只有当我从某个网站重定向时才可以这样做吗?

例如,如果我有一个个人博客,并且我想将用户重定向到某个站点,那么该站点只有在前一个网站是我可以列入白名单或类似内容的网站时才会打开。 如果可能,我想在服务器端进行(重定向应用程序内置于 .NET Core 2.1 中)

非常感谢!

最佳答案

从技术上讲,没有。虽然您可以使用 Referer(历史上拼写错误) header ,但不能保证该 header 存在并且也可能被欺骗。换句话说,如果客户端根本不发送 header ,就无法知道用户是否从您的其他站点重定向。即使它存在,客户端也可以简单地手动发送 header 并完全绕过您的其他站点。

如果这两个站点位于同一域或同一域的子域中,您可以在您的其他站点设置一个 cookie,然后在重定向的站点上检查该 cookie。但是,这些站点需要能够共享 cookie,这再次意味着相同的域并且都具有配置为使用相同的分布式存储的数据保护提供程序。

如果你想限制访问,最好和最简单的方法总是 auth。让他们在这两个点都登录,您可以确保没有人可以做任何您不希望他们做的事情。

关于c# - 仅从特定网站重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51973601/

相关文章:

c# - SpinLock.Enter 获取锁失败怎么办?

c# - 使用 jQuery 的 ajax 将文件发送到 C# 中的 Web 服务 (asmx)

.net - 从 Web 应用程序自动打印新订单

c# - 无法使用 Visual Studio 2017 加载文件或程序集 'Microsoft.CodeAnalysis.LiveUnitTesting.Runtime, version= 1.7.0.0'

c# - 是否可以通过Ajax上传文件?

c# - ASP.NET DefaultButton 和 MasterPages

c# - 从枚举标志中获取所有设置的枚举名称

c# - 当 .Net Thread 没有名称时,如何使用 NLog 打印 threadid 而不是 threadname?

c# - 如何在 Simple OData Client 中启用 gzip 压缩?

asp.net-mvc - 传递匿名对象以查看