显示受限用户的PDF文件

问题描述 投票:1回答:1

我的网站是用PHP构建的,我整合了条带支付。如果通过条带的用户付款成功,那么我需要打开一个PDF文件,该文件托管在运行代码的同一服务器上。

以下是我用来打开PDF文件的代码:

$file = 'test.pdf';
$filename = 'test.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Accept-Ranges: bytes');
@readfile($file);

我不希望直接访问test.pdf文件。因此,如果我将test.pdf的权限更改为777,则代码会运行并打开PDF文件,但它也允许任何人通过直接链接打开文件。如果我更改权限以便访问此文件仅限于代码文件,那么它不会打开pdf文件。我如何实现这一点,以便PDF文件可以在成功的条带支付后打开,但不能通过直接URL打开。

php
1个回答
1
投票

您可以使用“全部拒绝”来阻止.htaccess(或虚拟主机配置)直接访问文件。如果服务器用户(例如www-data)对pdf具有读取和执行权限,则'readfile()'将起作用

© www.soinside.com 2019 - 2024. All rights reserved.