사용자가 서버에서 개인 파일을 업로드하고 다운로드 할 수있는 작은 웹 사이트를 구축합니다. Codeigniter는 프로젝트에 사용되고 있으며 file uploading class을 사용하여 파일을 업로드합니다.관련 업 로더 만 해당 파일을 다운로드 할 수 있습니다.
발생하는 문제는 파일을 업로드 한 사람 만 다운로드 할 수 있도록하는 방법입니다. 현재 모든 파일은 localhost/curious/uploads
에 업로드됩니다. 파일은 업로드하는 사람 만 볼 수 있지만 업로드 링크를 공유하면 누구나 파일을 다운로드 할 수 있습니다.
스티브가 secure_rom.doc
파일을 업로드하고 경로가 localhost/curious/uploads/secure_rom.doc
인 경우 해당 링크가있는 모든 사용자가 파일을 다운로드 할 수 있습니다.
업 로더 만 다운로드 영역에서 다운로드 할 수 있고 다른 사람이 아닌 것은 어떻게 할 수 있습니까?
, 아마도 가장 쉬운 방법은 내부의 하위 폴더를 가지고하는 것입니다/업로드는, 이름 사용자의 사용자 이름으로/uploads/LiveEn은 LiveEn에서만 액세스 할 수 있고 /uploads/emma.fn2는 emm을 통해서만 액세스 할 수 있습니다 a.fn2. –
@ emma.fn2 시도했지만 그 제한이 제대로 작동하지 않습니다. 따라서 사용자가 로그인 할 때 해당 폴더에 대한 액세스 권한 만 있지만 다른 사람이 링크를 공유하면 ID를 직접 다운로드 할 수 있습니다. – LiveEn
접속하려는 사람이 귀하의 사이트에 로그인했는지 그리고 다운로드 권한이 있는지 확인하기 위해 점검을하고 있었습니까? 그렇지 않다면 /uploads/username/file.xyz와 일치하는 rewriterule을 설정하고이를 $ _SESSION [ 'username']을 검사하는 다운로드 컨트롤러 파일로 전달하고이를 비교하여 폴더 이름 (URL에서 온 것입니다). 파일을 보이는 웹 디렉토리 외부에 두어 URL에서 바로 다운로드 할 수 없도록하십시오. 아마도 그것이 작동하지 않는 이유 일 것입니다. 그게 말이 되면!? 미안 미안하다. –