代码之家  ›  专栏  ›  技术社区  ›  Pankaj Agarwal

如何隐藏/保护图像路径?

  •  1
  • Pankaj Agarwal  · 技术社区  · 14 年前

    如何在ASP.NET中隐藏/保护图像路径?我不希望用户直接看到图像路径。

    我搜索了我的问题并找到了以下网址:

    http://www.codeproject.com/KB/web-security/ImageObfuscation.aspx

    在本页上,它建议如下更改图像路径:

    <img ID='ImageControl'   
         src='ShowImage.axd?Path=<% EncryptString("C:\Images\img.ext", Page) %>' 
    

    但是,如果用户复制这个镜像SRC并用域名粘贴到他们的浏览器中,那么它将显示该镜像。

    5 回复  |  直到 8 年前
        1
  •  2
  •   OneHoopyFrood    8 年前

    Request.Referrer

    <img ID='ImageControl' 
         src='ShowImage.axd?Path=<% EncryptString("C:\Images\img.ext|" + DateTime.Now.ToString(), Page) %>' 
    

    Dim pathAndTimeEnc As String = ctx.Request.Params("Path")
    Dim pathAndTime As String
    Dim path As String
    Dim timeStamp As DateTime
    
    pathAndTime = Common.DecryptString(pathAndTimeEnc, ctx)
    Dim parts = pathAndTime.Split("|"C)
    path = parts(0)
    timeStamp = DateTime.Parse(parts(1))
    
    Dim fiveMin As TimeSpan = New TimeStamp(0, 5, 0)
    If DateTime.Now.Subtract(timeStamp) < fiveMin Then
      ' Return image.
    End If
    

    1. Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetExpires(DateTime.Now);

        2
  •  7
  •   Darin Dimitrov    14 年前

        3
  •  0
  •   Edd Barrett    14 年前

        4
  •  0
  •   T.J. Crowder    14 年前
        5
  •  0
  •   Péter    14 年前

    < img ID='ImageControl' src='ShowImage.axd?ID=1 %>'