我基本上试图设计一个控制器动作,如果在页面上访问它将返回一个文件,但如果有人试图直接转到URL或热链接,则不会。
我看到这样的东西,但它对我来说不起作用C#4
Page page = HttpContext.Current.Handler as Page;
if (page != null)
{
// Use page instance.
}
我也尝试过使用HttpContext.CurrentHandler,但也没有运气。任何你能给予的帮助将不胜感激。
答案 0 :(得分:0)
答案 1 :(得分:0)
通常检查是否将引荐来源设置为您喜欢的内容 - 请检查HttpRequest.UrlReferrer。
更强大的检查是生成文件的“随机”网址或添加只有您的网页可以提供的查询参数(即当前时间的哈希值+只有服务器知道的秘密值):
/Files/Special.txt?openvalue=2012-08-17&hash=HASHVALUE
其中根据“openvalue”和某些秘密数据(即“2012-08-17”+“secretetext”)的串联计算HASHVALUE(即SHA256)。
通过这种方式,您可以验证网页是否生成了链接,并在必要时将其缩小。