摘要:整改一些业务系统时,加了资源文件权限,比如上传,可能随机命名,但总可能被猜到,猜到就能访问到。否则不会有效果。
整改一些业务系统时,加了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 |
</>复制代码
备注:
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/35995.html
摘要:整改一些业务系统时,加了资源文件权限,比如上传,可能随机命名,但总可能被猜到,猜到就能访问到。否则不会有效果。 整改一些业务系统时,加了WEB资源文件权限,比如上传doc,可能随机命名,但总可能被猜到,猜到就能访问到。 首先,禁止Url文件名直接访问 以Apache为例,在禁止访问文件目录(file_path)下新建 .htaccess # 单个文件 # 多个文件(写着就不让访问了)...
摘要:重新修改图片大小然后上传到亚马逊,是最常见用于解释事件驱动的示例,计算即服务平台的仍然保留了这个例子,如下图一个图片被上传到一个桶中,触发一个执行函数的事件。无服务器架构代表了一种非常不同的心态。 为什么一名开发者应该使用AWS Lambda?简单一句话的说,AWS Lambda-是另外一种事件驱动方式,fu...
摘要:每次在命令行中输入一串命令,敲入回车,终端进程都会一个子进程,用来执行输入的命令,终端进程通过系统调用监听子进程退出,同时通过暴露的输出子进程执行信息。父进程通过创建该的实现向子进程从设备的输入输出。 背景 terminal(命令行)作为本地IDE普遍拥有的功能,对项目的git操作以及文件操作有着非常强大的支持。对于WebIDE,在没有web伪终端的情况下,仅仅提供封装的命令行接口是完...
摘要:重新修改图片大小然后上传到亚马逊,是最常见用于解释事件驱动的示例,计算即服务平台的仍然保留了这个例子,如下图一个图片被上传到一个桶中,触发一个执行函数的事件。无服务器架构代表了一种非常不同的心态。 为什么一名开发者应该使用AWS Lambda?简单一句话的说,AWS Lambda-是另外一种事件驱动方式,function-as-a-service就像Microsoft Azure 的函数计算...
阅读 3201·2021-11-25 09:43
阅读 3735·2021-08-31 09:41
阅读 1389·2019-08-30 15:56
阅读 2325·2019-08-30 15:55
阅读 3159·2019-08-30 13:48
阅读 2927·2019-08-29 15:15
阅读 1095·2019-08-29 15:14
阅读 2747·2019-08-28 18:26