免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4260 | 回复: 9
打印 上一主题 下一主题

[问题]请问如何禁止直接通过地址栏访问上传的文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-17 17:28 |只看该作者 |倒序浏览
[问题]请问如何禁止直接通过地址栏访问上传的文件?      

我现在上传的文件如果直接在地址栏中输入其网址就不需要登录,可以直接下载。我如何才能禁止其直接访问呢?我希望访问者必须要登录后才能访问上传的文件。最好能说得详细些。谢谢!!

论坛徽章:
0
2 [报告]
发表于 2006-10-17 17:42 |只看该作者
随机命名上传文件并做对应记录。
用 PHP 读上传文件然后发送标头和文件数据到客户端。

适用于不大的文件。

论坛徽章:
0
3 [报告]
发表于 2006-10-17 17:51 |只看该作者
这样也还是不行的呀,比如我第一次登录网站以后,记录下了其网址和文件名。那第二次我就直接在地址栏中输入其网址和文件名就能访问了,不需要再认证了。我就是要其不能这样的呀。上传的文件是保密的,不能未经允许就访问。

论坛徽章:
0
4 [报告]
发表于 2006-10-17 18:32 |只看该作者
你看清楚我的回答先。

论坛徽章:
0
5 [报告]
发表于 2006-10-18 06:46 |只看该作者
对不起,怪我没有说清楚。
目前的问题是这样的:
我做了一个网站,有上传文件的功能。对于用户上传的文件,我以当前的日期时间为文件名保存在服务器上,并做了对应的记录,在页面上访问者看到的是其上传的文件名,而不是我修改以后的以日期时间命名的文件名。我的目的是想所有的欲访问该文件的人都要登录认证以后才能读该文件。现在如果访问者第一次经过登录以后,当然能合法的读该文件。但是如果访问者记下该文件的路径后,如这样的形式:http://a.b.c/upload/20060810221009.txt  , 下一次他就可以不用登录认证,直接在浏览器地址栏中输入上面的地址就可以读了。这当然是一个安全隐患。如何使用户在浏览器地址栏中输入http://a.b.c/upload/20060810221009.txt 时拒绝访问呢?
我用的是 红帽9.0 + apache + php , 网页认证使用 session, 没有用cookie.
谢谢指教!

论坛徽章:
0
6 [报告]
发表于 2006-10-18 09:23 |只看该作者
已经说过了:

用 PHP 读上传文件然后发送标头和文件数据到客户端。

用户无法知道文件的位置。验证由 PHP 完成。

论坛徽章:
0
7 [报告]
发表于 2006-10-18 09:47 |只看该作者
原来是这样!!多谢了,那能否给我讲一下或是介绍这方面的资料呢?谢谢!!

论坛徽章:
0
8 [报告]
发表于 2006-10-18 11:46 |只看该作者
查看手册 header 以及例子,或者 RFC1945。

论坛徽章:
0
9 [报告]
发表于 2006-10-18 12:14 |只看该作者
谢谢!我来找找看!
PHP_Linux 该用户已被删除
10 [报告]
发表于 2006-10-19 20:02 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP