다운로드 버튼을 만들어 사용자가 버튼 하나만 클릭하여 pdf 파일을 다운로드 할 수있게하려고합니다. 나는이있다 :파일 이름이 잘못되었지만 정확합니다.
<?php
session_start(); // Alltid överst på sidan
if(!isset($_SESSION['sess_id']) OR $_SESSION['sess_id'] < 1){
die("Skapa ett konto som investerare för att enkelt få tillgång till affärsplaner!");
}else if(is_numeric($_SESSION['sess_id'])) {
/* kolla om användaren försöker ange filer i en annan mapp */
if(substr_count($_GET['file'], "/") > 0){
die("Invalid path"); }
/* skapa fullständig sökväg till filen */
$file = '/server/php/files/' . $_GET['file'];
/* kolla om filen finns */
if(!file_exists($file))
{
die("Invalid filename");
}
을하고 나에게 "Invalidfile 이름"메시지를주고 ..
그러나, 내가 echo $file;
및 브라우저의 경로를 복사 (+ 앞에 로컬 호스트)는 그 나야를 제공하는 경우 내가 찾고있는 대화를 다운로드하십시오. 내가 뭘 잘못하고 있는지에 대한 아이디어가 있습니까?
출력
/server/php/files/roibay-business-plan.pdf
와 "server
"echo $file
내 루트 폴더에 폴더입니다.
을 그냥 참고를 필터링하지 않고 같은 $ _GET을 사용하면 보안 문제가 발생할 수있다. http://en.wikipedia.org/wiki/Null_character –
필자가 작성한 코드가 있습니다. :) (필자가 추가 할 수 있도록 추가 하겠지만) 감사합니다! – Alisso
출력을'echo $ file' 명령에 게시 할 수 있습니까? –