首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使可下载的文件密码在网页上得到保护

使可下载的文件密码在网页上得到保护
EN

Stack Overflow用户
提问于 2013-09-04 05:22:10
回答 2查看 7.3K关注 0票数 2

我想制作一个网页,里面有pdf的下载选项,但我希望它的密码受到保护,也就是说,如果有人点击这个链接,他必须输入用户名和密码,如果他直接打开链接“www.example.com/~文件夹_name/abc.pdf”,那么服务器首先请求密码,然后允许下载。

编辑:我希望用户在浏览器中查看文件,而不是强制下载这里的代码

代码语言:javascript
运行
复制
<?php
    /* authentication script goes here*/
    $file = 'http://example.com/folder_name/abc.pdf';

    //header('Content-Description: File Transfer');
    header('Content-Type: application/pdf');
    header('Content-Disposition: inline; filename=' . basename($file));
    header('Content-Transfer-Encoding: binary');
    //header('Expires: 0');
    //header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    //header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    header('Accept-Ranges: bytes');
    @readfile($file);

?>

但这段代码并没有在我的浏览器中打开pdf。我不希望代码依赖于浏览器使用的pdf插件

EN

Stack Overflow用户

发布于 2013-09-04 05:47:20

您仍然可以使用.htaccess不让任何人直接下载您的文档并保护到该文档的链接。

.htaccess可能是这样的

代码语言:javascript
运行
复制
RewriteRule ^([A-Za-z0-9-]+).pdf$ index.php [L,QSA]

您可以使用php实现这个功能。

像这样想的人

代码语言:javascript
运行
复制
<?php

    //here you authenticate user with your script

    //and then let the user download it
    if (!isset($_SESSION['authenticated']))
    {
       header('Location: http://www.example.com/');
       exit;
    }
    $file = 'www.example.com/~folder_name/abc.pdf';

    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
?>
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18605936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档