php – 如何在网站上保护可下载的pdf文件的密码

我有个人投资组合网站,我有一些像这样的PDF文件
<a href="file.pdf">Some file</a>

我不希望每个人都下载该文件,我希望它用密码保护它,以便我只与我认识的人分享

只有提供正确密码的人才能下载我的文件

注意:1.由于其个人投资组合网站,它没有任何“登录”
2.我使用HTML设计了网页作为响应代码

请你的建议,没有.htaccess的任何方式吗?

使用MySQL或MySQLite – 取决于您的偏好 – 并将链接存储到数据库中的PDF.然后使用download.php等脚本.在文件数据库中存储该文件的密码,并要求用户在下载文件之前输入该密码.如果您不熟悉数据库,您可以在PHP中完成所有操作.

一个非常粗略的模型(没有数据库,如果您熟悉dbs,请相应调整)

HTML表单

<form name="download" id="download" method="post" action="download.php">
  <input type="password" id="password" name="password" />
  <input type="submit" id="submit" value="Download" />
</form>

PHP(download.php)

<?php
     // Get the password
          $pw = md5($_POST['password']);

     // Compare against the stored password
          $valid_pw = md5("your password you want to use");

          if($pw != $valid_pw){
               echo "Error! You do not have access to this file";
          }else{
               header("Location: /path/to/your/file.pdf");
          }
?>

笔记:

我使用了一种非常基本的加密密码的方法.如果这是我的应用程序,我会研究更好的方法,但为了简洁和易于理解,我使用了一个简单的md5()哈希比较.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


如何选择合适的 C++ Web 开发框架?
利用 C++ 框架构建高并发 Web 应用的策略
用 C++ 框架开发跨平台图形应用程序
golang框架中安全编码实践的最佳指南是什么?
golang框架与其他语言框架在设计理念上的区别有哪些?
C++ 图形框架与其他语言框架的比较
C++ 框架与其他 Web 开发框架的对比分析
使用 C++ 框架构建大型项目最佳实践
C++ 框架如何提高大型项目开发效率
C++ 框架中依赖注入的持续集成与部署工具
如何与社区协作和贡献到自定义 Golang 框架?
C++ 框架在大型项目中如何实现模块化开发
使用 C++ 框架开发跨平台 Web 应用
C++ 框架在大型项目中的优缺点
golang框架在性能上的优势体现在哪些方面?
C++ 框架在嵌入式系统内存优化中的优势
golang框架在人工智能与机器学习中的作用
如何扩展 Golang 框架以支持特定功能?
如何利用 Go Modules 和依赖项管理来自定义 Golang 框架?
Golang 框架中的性能优化技巧