仅从某些网站重定向

时间:2018-08-22 19:09:56

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

我正在.NET Framework网站上工作,该网站只能通过重定向命令打开。仅当我从某个网站重定向时才可以这样做吗?

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

非常感谢!

1 个答案:

答案 0 :(得分:3)

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

如果两个站点位于同一域或同一域的子域中,则可以在另一个站点上设置cookie,然后在重定向的站点上对其进行检查。但是,这些站点必须能够共享cookie,这又意味着同一个域,并且两个站点都具有配置为利用同一分布式存储的数据保护提供程序。

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