laravel或php有禁止下载文件功能嘛

做了一个页面展示pdf的功能,但希望可以禁止浏览者下载浏览的pdf文件

我是用response->file($url);来展示pdf文件的
请问,如何可以禁止别人来下载文件呢?
实现只能浏览,但不提供另存为功能

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 20

不能,也许可以通过某些 js 手段,禁止另存为,但是只能防止外行。

2年前 评论
  1. 禁用 f12,鼠标右键,这样用户就没法在你页面上直接另存为

  2. 做防盗链,这样用户没法根据你的链接直接下载

以上两点能防普通人,遇到专业的还是可以下载到,但毕竟也会麻烦写

1年前 评论
忆往昔弹指间 1年前
renxiaotu (作者) 1年前
忆往昔弹指间 1年前
renxiaotu (作者) 1年前
忆往昔弹指间 1年前
renxiaotu (作者) 1年前

能看就能存,你这个需求不能实现。可以考虑增加保存成本,比如图片或者啥的。

2年前 评论
翟宇鑫

加个水印

2年前 评论

应该不能,因为进行浏览的时候,文件流的内容就已经传输到了客户端,客户端浏览器本地就支持进行保存了。

2年前 评论

禁用f12,鼠标右键

2年前 评论
半人间 1年前
巴啦啦臭魔仙 (作者) 1年前

不能使用浏览器默认的header来预览文件 你需要把文件处理后再提供给用户展示 比如切割成图片 然后渲染

2年前 评论
laravel_peng

如果将 pdf 转为 html 输出到浏览器上怎么样?这样是不是不能下载 pdf ,可以试一下!(但是保不齐他们下载 html 然后转 pdf :see_no_evil:)

2年前 评论

不太好实现,浏览器上所见即所得。

2年前 评论

pdf转为图片.只显示一半,百度文库就是这样做的,看全需要付费,如果本身就是免费内容为什么会有这个需求呢.

1年前 评论

像百度文库或者一些专门PDF付费的网站,有些都是通过Canvas绘制展示的,不得不说防的太好了:joy:

1年前 评论
随波逐流

我看很多站点的解决方案是把文件都转成了 canvas

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!