인증 된 사용자에게 다양한 양식 (PDF, MP3, MP4 등)의 컨텐츠에 대한 액세스 권한을 부여하는 사이트가 있습니다. 이 사이트는 LAMP의 제 3 자 개발자가 저를 위해 개발했습니다. 사용자는 MySQL DB에 저장된 사용자 이름/암호를 사용하여 응용 프로그램을 인증합니다. 그들은 Apache, MySQL 또는 다른 메커니즘으로 인증하지 않습니다.자바 스크립트 파일에 대한 액세스 보호
최근에 사이트 침투 테스트에서 몇 가지 명백한 취약점이 확인되었습니다. 내 머리를 긁적 거리는 것은 자바 스크립트 파일을 다운로드하기위한 인증 요구 사항입니다. 브라우저가이 JS 내용에 액세스하여 응용 프로그램을 실행해야한다는 것은 명백히 적어도 일부 파일을 공개적으로 노출시키는 것을 의미합니다.
내 질문은 다음과 같습니다. 응용 프로그램에 로그인하지 않은 사용자가 특정 파일에 액세스하지 못하게 방지하는 방법이 있습니까?
콘텐츠 파일 용으로 제안 된 .htaccess
버전과 같은 솔루션을 보았습니다. 예 : 내가 공개/개인 폴더에 JS 코드를 분할하는 경우
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ ../authorize.php?file=$1 [NC]
자바 스크립트 난이 방법을 제공보다는 도매를 포함하는 방법은 무엇입니까? 이 자바 스크립트에서 작동합니까?
감사합니다.
감사합니다. 나는 그것을 취했고 조금 수정했고 그것은 매력을 발휘했다. .htaccess 파일을 사용하지 않았지만 아파치 site.conf/리디렉션을 사용자가 로그인 한 상태로 리디렉션했습니다. 그렇지 않은 경우 바로 중지하십시오. ("이 리소스에 액세스 할 수있는 권한이 없습니다.") if (! (isset ($ _ SESSION [ 'user_id']) && $ _SESSION [ 'user_id']! 경로에서 '/'를 #strip 찾아서 존재하는지 확인하십시오. $ relative_path = substr ($ _ SERVER [ 'REQUEST_URI'], 1); if (file_exists ($ relative_path)) readfile ('./private'. $ _SERVER [ 'REQUEST_URI']); else die ("파일을 찾을 수 없습니다.". $ relative_path); – user3127522