对于我的ASP.NET MVC网站,如果用户来自另一个特定页面上的链接(该页面可能来自完全不同的URL),我想允许访问某个页面仅
示例:
如果用户来自 www.MySite.com/上的链接,我想允许用户访问 www.MySite.com/thispage ,仅 该页面或 www.MyOtherSite.com/thatpage
如何实现这一目标?
答案 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极其敏感,需要完全正确,否则会导致整个网站出错。
---并确保您之后进行测试以确保一切正常。您不希望意外阻止您网站的所有流量。
你可以随时跟踪他们访问的网站,如果他们不是来自你们的乌托邦那么就会阻止他们:)