반응형
나는 이것으로 하루 종일 내 뇌를 튀겼습니다. 눈이 맑아 질 때까지 조사 중 ... 알아야 할 사항 : 사이트 루트 외부에있는 파일에 어떻게 액세스합니까?
배경 : 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
반응형
'MySql' 카테고리의 다른 글
MySQL python MySQLDB 쿼리 시간 초과 (0) | 2021.01.11 |
---|---|
MySQL 데이터 프레임에서 RMySQL에 삽입 (0) | 2021.01.11 |
MySQL null 값을 외래 키 필드에 전달하는 방법은 무엇입니까? (0) | 2021.01.10 |
MySQL Apache Solr를 mysql과 연결하는 방법 (0) | 2021.01.10 |
MySQL PHP와 MySQL-소스 코드에서 비밀번호를 피하는 방법? (0) | 2021.01.10 |
댓글