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