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

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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 20

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

1年前 评论
翟宇鑫

加个水印

1年前 评论

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

1年前 评论

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

1年前 评论

禁用f12,鼠标右键

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

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

1年前 评论
laravel_peng

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

1年前 评论

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

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

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

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

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

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

1年前 评论

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

1年前 评论
随波逐流

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

1年前 评论

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