2010-05-06 3 views
0

모든, 젠드 - CSS에 대한 액세스를 거부, JS, 이미지 파일

나는 다음과 같은 젠드 응용 프로그램의 구조를 가지고 :

공용 폴더에 내 htaccess로 파일은 다음과 같습니다
helloworld 
- application 
    - configs 
    - controllers 
    - models 
    - layouts 
- include 
- library 
- public 
    - design 
     -- css 
      -- site.css 
     -- js 
      -- global.js 
     -- images 
      -- siteheader.gif 
      -- sitefooter.gif 
    - .htaccess 
    - index.php 

:

Options -MultiViews 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

내 문서 루트가 "공용"폴더를 가리 킵니다. 현재 사용자가 디렉토리 레벨 URL (예 : http://localhost/design 또는 localhost/css)을 방문하면 위의 .htaccess 파일에 액세스 금지 페이지가 표시됩니다. 그러나 파일 레벨 URL (예 :)을 방문하면 CSS 파일 또는 js 파일 또는 PHP 파일이 표시됩니다.

위의 파일 유형에 대한 파일 수준 액세스를 잠 그려면 어떻게해야합니까? URL에서 직접 액세스하는 경우? 내 애플리케이션은 JS 집약적이므로,이를보고있는 사용자로부터 보호하고 싶습니다. 당신은 할 수 없습니다

감사

답변

6

- 브라우저는 볼 수있는 브라우저가 사용자가 볼 수있는 모든 것을 표시하기 위해 액세스 할 수 있어야한다.

리퍼러 헤더를 보내는 브라우저에 대한 액세스를 제한 할 수도 있지만 브라우저가 리퍼러를 보내지 않는 일부 사용자의 경우 사이트가 손상 될 수 있으며 사용자가 볼 때처럼 도움이되지 않습니다. 페이지의 원본 인 경우, 브라우저는 새로운 복사본을 가져 오는 대신 사이트 렌더링에 사용하기 위해 이미 다운로드 한 복사본을 볼 수 있습니다.

이 모든 것을 말하면, YUI compresser과 같은 스크립트를 사용하여 JavaScript의 크기를 줄일 수 있습니다.

0

이것은 불가능합니다. 예를 들어,이 경우 자바 스크립트는

/js/seekrit.js 

를 제출하면 브라우저가 (백그라운드에서) 별도의 HTTP 요청을하므로, 또한 그것을 포함하여 페이지의 방법으로 개방을 방지 할 수 있습니다 오픈되지 않도록 같은 페이지로

그러나 인증 된 요청 만 허용하기 위해 일종의 해시를 사용할 수 있습니다.

다른 말로하면, 은 특별한 것들을 위해 서버 쪽을 사용합니다. seekrit에 JavaScript를 사용하지 마십시오.

관련 문제