내 Gnu/Linux 호스트의 업로드 폴더에 이미지를 업로드하는 양식이 있습니다.
사용자가 가입하면 업로드할 폴더가 생성되고 해당 폴더에 이미지가 저장됩니다.
색인을 비활성화하고 해당 위치를 난독화했지만 현재는 website.com/uploads/user3/photo.png
파일 경로를 알고 있으면 액세스할 수 있습니다.엿보는 눈으로부터 보호하려면 사용자 폴더와 해당 콘텐츠에 어떤 권한을 설정해야 합니까?업로드 기능이 전역적으로 작동하려면 읽기 및 쓰기가 필요하므로(이것은 성가신 일입니다) 이를 고려하십시오.
내가 보기에 사람들이 이러한 이미지의 파일 이름을 찾는 것은 어려울 것입니다(인덱싱 없음 등). 그럼에도 불구하고 그렇게 하면 해당 이미지를 보거나 다운로드할 수 있습니다.
다른 팁을 주시면 감사하겠습니다.
그건 그렇고, 어떤 이유로 내 호스트가 setfacl을 허용하지 않는 것 같습니다. 이전 질문에서 이것을 답변으로 제안했습니다.
답변1
파일 시스템 권한과 관련하여 아무 것도 필요하지 않은 간단한 솔루션이 있습니다. 업로드 경로를 문서 루트가 아닌 다른 곳으로 변경하면 됩니다. 인증된 사용자가 웹을 통해 이를 확인해야 하는 경우 인증이 확인된 후 서버측 웹 코드에 이를 포함시키십시오.
답변2
이는 파일 권한으로 해결될 수 있는 문제는 아닌 것 같습니다. 웹 애플리케이션에서 이 문제를 해결해야 합니다. 웹 애플리케이션에 액세스가 필요한 경우 액세스가 필요합니다. 웹 애플리케이션은 어떤 사용자가 웹 애플리케이션에 로그인했는지 알 수 있습니다(이는 Unix 사용자와 다릅니다. 웹 애플리케이션은 Unix 사용자로 실행됩니다).
기술 1: 해시 또는 큰 난수를 파일 이름으로 사용합니다. 추측하는 것은 불가능하지만, 이름을 아는 사람이라면 접근할 수 있습니다.
기술 2: 보안 라이브러리/프레임워크를 사용하여 관리합니다.
의 경우 setfacl
파일 시스템에 설치되지 않았거나 활성화되지 않았거나 커널에서 활성화되지 않았습니다.