내 목표는 사용자가 업로드 한 파일 (주로 PDF)을 호스트 웹 사이트의 링크를 통해서만 다운로드 할 수있게하는 것입니다.Safari PDF 뷰어가 리퍼러를 인식하지 못합니까?
나는 사용자가 업로드 한 파일을 uploads 디렉토리에있는 .htaccess 파일로 보호했다. .htaccess는 하드 코딩 된 도메인 이름에 대해 리퍼러를 확인하고 리퍼러가 일치하면 액세스를 허용합니다. 그렇지 않으면 액세스가 거부됩니다.
Safari의 PDF 파일 링크를 따르는 경우를 제외하고는 정상적으로 작동합니다. 사파리는 브라우저에서 열려고 시도하고, 이후 리퍼러가 올바르더라도 거부됩니다.
Safari 사용자가 올바른 위치에서 올 때이 파일을 볼 수있게하려면 어떻게해야합니까?
나는 세션 존재를 확인 하겠지만 링크를 클릭하고 파일을 여는 사이에 PHP 코드가 실행되지 않습니다. 즉, 세션 변수를 검사하면 .htaccess에서 수행해야합니다. , 아니? 가능한지 확실하지 않습니다. – Chase
기본 파일 기반 세션이있는 경우 세션의 이름은 쿠키 다음에 지정됩니다. 쿠키 값이 sesssion-dir에 파일로 존재하는지 여부를 감지하는 것이 가능할 수도 있습니다. 아마도 SetEnv로 약간 만만치 않습니다. – Wrikken