Problema ao forçar download.
Olá pessoal,
Estou criando uma funcionalidade de segurança em PHP que verifica se o usuário do nosso portal está em sessão. Se ele estiver, verifica se ele tem acesso ao produto que o arquivo é vinculado. Até ai tudo bem! O grande lance é que eu consigo forçar o download de todos os arquivos, menos dos instaladores, que são os itens que necessitam de mais segurança.
Tente e pesquisei de tudo, espero que possam me ajudar, nessa primeira vez no fórum. :)
Abaixo segue o código total da função:
function startDownload()
{
$pfdir = $_GET['path'];
$pdir = dirname($pfdir);
$pfile = basename($pfdir);
$dir = dirname($_SERVER['SCRIPT_FILENAME'])."/";
$dir .= $pdir."/";
$file = $dir.$pfile;
$jfile = basename($file);
$rs = self::verifyFile($jfile);
if($rs){
if(self::verProduto($rs['id'])){
if(is_file($file)){
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.$jfile.'"');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Expires: 0');
ob_clean();
flush();
readfile($file);
exit;
}else{
// Arquivo não existe na pasta Downloads
echo "<h3>Erro 10: Não foi possível encontrar o arquivo.</h3>";
}
}else{
// Não existe o curso vinculado ao arquivo no contrato do usuário
echo "Erro 12: Arquivo não encontrado na sua lista de Downloads.";
}
}else{
// Arquivo não existe no banco de dados
echo "<h3>Erro 11: Não foi possível encontrar o arquivo.</h3>";
}
}Discussão (2)
Carregando comentários...