允许访问网站上的某个页面,前提是它们来自另一个特定页面上的链接

时间:2013-09-09 02:07:45

标签: asp.net-mvc

对于我的ASP.NET MVC网站,如果用户来自另一个特定页面上的链接(该页面可能来自完全不同的URL),我想允许访问某个页面

示例:

如果用户来自 www.MySite.com/上的链接,我想允许用户访问 www.MySite.com/thispage ,仅 该页面 www.MyOtherSite.com/thatpage

如何实现这一目标?

2 个答案:

答案 0 :(得分:3)

您需要查看HTTP_REFERER标题

你可以用

做到这一点
Request.UrlReferrer

那就是说,这不是真正的安全性。有人可以手动设置浏览器的referer标题。

如果这只是防止热链接的一种方法,那很好。但是,如果你只是用它来阻止人们访问私人/安全信息,那么你需要实现一些真实的身份验证/授权。

答案 1 :(得分:0)

你可以用Referer来限制它,但这很容易被操纵,所以如果这对你非常重要......我会走另一条路。

您可以使用.htaccess来阻止传入的引荐链接到达您的网站。您可以完全拒绝来自网站或链接的传入流量。或者,您可能只是将来自站点或链接的传入流量重定向或转发到其他地方。

只要主机启用了mod_rewrite,就可以将其应用于任何带有.htaccess的网站。

如果您使用的是Dolphin并且它安装在您的root / main / http docs / public_html目录中,那么您将添加到: yoursite()的COM / htaccess的

如果您正在使用Dolphin并将其安装在子文件夹/子目录中,那么您将添加到: yoursite()的COM /海豚目录/ htaccess的

在RewriteEngine行之后添加.htaccess文件:

上的RewriteEngine

RewriteCond%{HTTP_REFERER} baddomain.com [NC] RewriteRule。* - [F]

要将流量从不需要的网站或链接转发或重定向到其他地方,请添加:

上的RewriteEngine

RewriteCond%{HTTP_REFERER} baddomain.com [NC] RewriteRule。* http://en.wikipedia.org/ [R,L]

注意: -Change RewriteCond line:baddomain.com到您要阻止的链接或站点。 -Change RewriteRule行:http://en.wikipedia.org/到您要重定向或转发到的链接或网站。

- 请务必在编辑之前下载并备份原始.htaccess文件。 Htaccess极其敏感,需要完全正确,否则会导致整个网站出错。

---并确保您之后进行测试以确保一切正常。您不希望意外阻止您网站的所有流量。


你可以随时跟踪他们访问的网站,如果他们不是来自你们的乌托邦那么就会阻止他们:)