我想在任意二进制文件上创建一个非常简单的 php 保护程序,用户输入密码并将文件下载到他们的计算机上,但每次下载时都必须输入密码。
在对密码保护 php 页面的简单方法的第一个答案中,该行似乎要求文件必须是可显示的 ascii,可由浏览器呈现。include("secure.html");
有没有办法保护二进制文件,比如说foo.bin
具有相同的简单程度(以及类似的有限安全程度)?
我想在任意二进制文件上创建一个非常简单的 php 保护程序,用户输入密码并将文件下载到他们的计算机上,但每次下载时都必须输入密码。
在对密码保护 php 页面的简单方法的第一个答案中,该行似乎要求文件必须是可显示的 ascii,可由浏览器呈现。include("secure.html");
有没有办法保护二进制文件,比如说foo.bin
具有相同的简单程度(以及类似的有限安全程度)?
将文件夹设置为存储文件的位置以拒绝所有,然后使用 readfile 您应该能够访问它。
<?php
if (!empty($_POST)) {
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user == "admin"
&& $pass == "admin")
{
$file = 'path/to/file';
if (file_exists($file)) {
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');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
}
}
?>
<form method="POST" action="">
User <input type="TEXT" name="user"></input>
Pass <input type="TEXT" name="pass"></input>
<input type="submit" name="submit"></input>
</form>