문제

나는 여러 이미지를 포함하는 포트폴리오 웹 사이트를 구성하고 있으며, 그 중 일부는 일반 대중이보고 싶지 않습니다. 나는 누군가에게 사용자 이름과 암호를 이메일로 보내고, 내 작품을 볼 수 있도록 "로그인"할 수 있다고 생각합니다.

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 지시문을 사용하는 것보다 설정하는 것이 훨씬 쉽고 다음과 같이 더 좋아 보입니다. 벌거 벗은 이미지.

사용하는 경우 nginx, 당신은 그것을 사용할 수 있습니다 보안 링크 모듈.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top