以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]web端重要文件如何防止被盗取来进行文件保护?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133054)

--  作者:yjm789000
--  发布时间:2019/4/4 22:22:00
--  [求助]web端重要文件如何防止被盗取来进行文件保护?
我有重要文件是放在网站目录是web文件夹下的data文件中,然后发现可以通过访问具体的文件地址:http://127.0.0.1/data/1.xls  任何人都可以下载。之后还发现,可以通过一个软件,整站下载器软件,可以把我整个网站下载下来,其中web中data文件夹下的所有重要文件都被下载走了。所以这是一个重大的安全保护问题。
希望的是我的文件不能被这样下载走,只有我授权的用户才可以下载和访问,这种网页端的文件保护怎么通过狐表的服务器端实现进行?谢谢




--  作者:有点蓝
--  发布时间:2019/4/6 9:32:00
--  
添加cookie验证,如:
\'通用事件头,用于发送已经存在的常见文件
Dim fl As String = "d:\\web\\" & e.path
If filesys.FileExists(fl)
    Dim userid As String = e.Cookies("userid")
    If userid Is Nothing OrElse 其他验证 = False Then
        e.WriteFile("你没有权限")
        Return \'这里必须返回
    End If
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".zip",".xls"
            e.WriteFile(fl)
            Return \'这里必须返回
    End Select
End If

又如:
Select Case e.path
    Case "ckd.xls"
        Dim userid As String = e.Cookies("userid")
        If userid Is Nothing OrElse 其他验证 = False Then
            e.WriteFile("你没有权限")
            Return \'这里必须返回
        End If
        Dim fl As String = "d:\\web\\" & e.path
        If filesys.FileExists(fl)
            e.WriteFile(fl)
        End If
End Select

[此贴子已经被作者于2019/4/6 9:32:49编辑过]

--  作者:kylin
--  发布时间:2019/4/6 9:49:00
--  
学习,谢谢!
--  作者:yjm789000
--  发布时间:2019/4/6 22:12:00
--  
学习了