웹 사이트에서 이미지에 대한 액세스를 제한합니다
문제
나는 여러 이미지를 포함하는 포트폴리오 웹 사이트를 구성하고 있으며, 그 중 일부는 일반 대중이보고 싶지 않습니다. 나는 누군가에게 사용자 이름과 암호를 이메일로 보내고, 내 작품을 볼 수 있도록 "로그인"할 수 있다고 생각합니다.
PHP의 readfile을 사용하는 다음을 포함하여 "Hide-an-Image"문제에 대한 다양한 솔루션을 보았습니다. 나는 또한 .htaccess를 사용하는 또 다른 것을 보았다.
php의 readfile () 또는 리디렉션을 사용하여 이미지 파일을 표시 하시겠습니까?
이미지를로드하는 것이 느리게 보이기 때문에 ReadFile 솔루션에 미치지 않으며 이미지에 대한 끊임없는 액세스가 필요한 Cabel Sasser의 Fancyzoom을 사용할 수 있기를 원합니다 (그의 라이브러리는 전체에 대한 링크를 원합니다. 크기의 이미지), 따라서 .htaccess를 배제합니다.
내가하려는 일을 되 찾으려면 :
1) 사용자에게 내 이미지를보고 싶은 사람으로 자신을 인증 할 수있는 능력을 제공하는 사이트를 제공합니다. 2) 임의의 웹 사용자가 해당 이미지를 볼 수 없도록 제한합니다. 3) Fancyzoom을 사용하여 축소판을 날려 버립니다.
JavaScript, PHP 등을 사용하여 어떤 기술이 사용되는지는 신경 쓰지 않습니다.
그건 그렇고, 저는 웹 개발자가 아닌 Java 개발자이므로 문제에 대해 올바르게 생각하지 않을 것입니다.
해결책
이미지에 대한 링크를 제공하는 대신. 이미지의 적절한 헤더와 내용을 자동으로 제공하는 CGI 스크립트에 대한 링크를 제공하십시오.
예를 들어 : image.php? sample.jpg
그런 다음 링크의 일부로 이미 인증 된 상태 (예 : 세션 ID를 통과) 확인할 수 있습니다.
이것은 헤더의 일부이며 이미지 데이터가 따라갈 수 있습니다.
header('Content-Type: image/jpeg');
편집 : 빠르려면 PHP 대신 C/C ++로 작성할 수 있습니다.
다른 팁
.htaccess를 사용하는 것은 가장 안전하고 단순합니다 웹 서버 자체의 기능이 내장되어 있기 때문에 방법.
나는 그것이 당신의 요구에 맞는 지 모르겠지만, 나는 TinyWebGallery, 작은 갤러리 응용 프로그램입니다 없이 데이터 베이스.
TinyWebGallery가 새로운 Dirs/Pics를 즉시 확인하므로 암호를 통해 다른 디렉토리에 액세스 할 수 있으며 파일 시스템에 사진을 직접 업로드 할 수 있습니다. 썸네일을 생성하고 사용자에게 사진을 평가 / 댓글을 달성 할 수있는 가능성을 제공합니다 (이를 비활성화 할 수 있음).
이것은 가장 작은 도구가 아니지만 Apache 지시문을 사용하는 것보다 설정하는 것이 훨씬 쉽고 다음과 같이 더 좋아 보입니다. 벌거 벗은 이미지.