资讯专栏INFORMATION COLUMN

关于Web资源文件权限的简单设置

YacaToy / 2743人阅读

摘要:整改一些业务系统时,加了资源文件权限,比如上传,可能随机命名,但总可能被猜到,猜到就能访问到。否则不会有效果。

整改一些业务系统时,加了WEB资源文件权限,比如上传doc,可能随机命名,但总可能被猜到,猜到就能访问到。

首先,禁止Url文件名直接访问

以Apache为例,在禁止访问文件目录(file_path)下新建 .htaccess

# 单个文件
# 多个文件(写着就不让访问了)

   Order allow,deny
   Deny from all
如果是IIS .net,可以在“MIME类型”设置可访问的资源文件后缀名

这样一来,下面两种方式都无法打开:

1、

http://localhost/images/qwert.jpg

2、


第二步,输出文件
假设数据表是这样设计的
file_id file_url file_user_id
qwert_ooo qwert.jpg user1
12345_ooo 12345.jpg user2
fileread.php 读取文件

备注:

1.Content-Disposition:

参数 作用
inline 用默认浏览器打开非图片文件(Edge等浏览器有效,而Chrome一律选择下载)
attachment 下载

2.上述代码,ob_start()和ob_clean()需要一起使用,或者都不要,否则无法输出任何文件,即使查看Header信息是正确的

官方文档:输出缓冲必须已被 ob_start() 以 PHP_OUTPUT_HANDLER_CLEANABLE 标记启动。否则 ob_clean() 不会有效果。
fileread.html 输出文件


    
    


    

访问方式

1、

http://localhost/fileread.html

2、

http://localhost/fileread.php?file_id=qwert_ooo

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30013.html

相关文章

  • 关于Web资源文件权限简单设置

    摘要:整改一些业务系统时,加了资源文件权限,比如上传,可能随机命名,但总可能被猜到,猜到就能访问到。否则不会有效果。 整改一些业务系统时,加了WEB资源文件权限,比如上传doc,可能随机命名,但总可能被猜到,猜到就能访问到。 首先,禁止Url文件名直接访问 以Apache为例,在禁止访问文件目录(file_path)下新建 .htaccess # 单个文件 # 多个文件(写着就不让访问了)...

    ddongjian0000 评论0 收藏0
  • 为什么是无服务器计算?第一手AWS lambda测试报告!

    摘要:重新修改图片大小然后上传到亚马逊,是最常见用于解释事件驱动的示例,计算即服务平台的仍然保留了这个例子,如下图一个图片被上传到一个桶中,触发一个执行函数的事件。无服务器架构代表了一种非常不同的心态。 为什么一名开发者应该使用AWS Lambda?简单一句话的说,AWS Lambda-是另外一种事件驱动方式,fu...

    acrazing 评论0 收藏0
  • 支持多用户web终端实现及安全保障(nodejs)

    摘要:每次在命令行中输入一串命令,敲入回车,终端进程都会一个子进程,用来执行输入的命令,终端进程通过系统调用监听子进程退出,同时通过暴露的输出子进程执行信息。父进程通过创建该的实现向子进程从设备的输入输出。 背景 terminal(命令行)作为本地IDE普遍拥有的功能,对项目的git操作以及文件操作有着非常强大的支持。对于WebIDE,在没有web伪终端的情况下,仅仅提供封装的命令行接口是完...

    kaka 评论0 收藏0
  • 为什么是无服务器计算?第一手AWS lambda测试报告!

    摘要:重新修改图片大小然后上传到亚马逊,是最常见用于解释事件驱动的示例,计算即服务平台的仍然保留了这个例子,如下图一个图片被上传到一个桶中,触发一个执行函数的事件。无服务器架构代表了一种非常不同的心态。 为什么一名开发者应该使用AWS Lambda?简单一句话的说,AWS Lambda-是另外一种事件驱动方式,function-as-a-service就像Microsoft Azure 的函数计算...

    FuisonDesign 评论0 收藏0
  • web认证机制

    摘要:最近读了几篇大牛的博客才对认证机制方面有了进一步了解。尽管在服务器端可以优雅地使用技术如拦截器或动态代理对所有进行前置的登录验证。认证方式比较支持问题和其实是紧密相联的。第三方授权问题采用传统认证方式,若要访问业务,一定要先登录。 引言 以前对认证这方面的认识一直不太深刻,不清楚为什么需要token这种认证,为什么不简单使用session存储用户登录信息等。最近读了几篇大牛的博客才对认...

    fai1017 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<