본문 바로가기
MySql

MySQL 사이트 루트 외부에있는 파일에 어떻게 액세스합니까?

by 베이스 공부 2021. 1. 10.
반응형

나는 이것으로 하루 종일 내 뇌를 튀겼습니다. 눈이 맑아 질 때까지 조사 중 ... 알아야 할 사항 : 사이트 루트 외부에있는 파일에 어떻게 액세스합니까?

배경 : Linux를 실행하는 Apache 2.0 전용 서버.

코드 : PHP 및 MySQL

이유 : 파일 경로와 파일 이름을 브라우저에 입력하지 못하도록 파일을 보호하고 싶습니다.

이건 그렇게 어려울 수는 없지만 ... 어떤 도움이라도 절대적으로 감사하겠습니다.

 

해결 방법

 



<?php
$file = 'monkey.gif';

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, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

사용자 입력을 사용하여 $ file 변수를 설정하도록 허용하지 않는 것이 좋습니다! 응답에서 임의로 파일을 반환하기 전에 파일 이름이 어디에서 오는지 생각해보십시오.

 

참조 페이지 https://stackoverflow.com/questions/15079365

 

 

반응형

댓글