2016-09-21 2 views
-1

Google 애플리케이션 엔진에 PHP 애플리케이션을 배포했습니다. project-name.appspot.com/js/custom.js : Google 클라우드 PHP 애플리케이션의 파일에 대한 공개 액세스 제한

- url: /css 
    static_dir: css 

- url: /js 
    static_dir: js 

- url: /api 
    script: api.php 

- url:/
    static_files: index.html 
    upload: index.html 

는 지금, 나는이 URL을 사용하여 JS 폴더 안에있는 모든 파일에 액세스 할 수 있어요 다음 애플리케이션 제목 파일은 다음과 같습니다. 모든 사용자는 url에 경로를 입력하기 만하면 파일의 내용을 볼 수 없어야합니다. 나는 index.html을 제외한 파일들에 공개 접근을 제한하고자한다. 우리는 어떻게 이것을 할 수 있습니까? 다음 (해당 링크가 포함 된 페이지를 렌더링 할 때 브라우저에 의해 투명하게 사용자를 위해,)를 js 파일이 링크로 액세스되기 때문에

감사

+0

해당'js' 파일은 어떻게 사용 되나요? HTML 파일 안에 포함되어 있습니까? 링크를 통해 참조 되셨습니까? –

+0

안녕하세요 @ DanCornilescu, js 및 css 파일은 과 같은 링크를 통해 사용하도록 고안되었습니다. –

답변

0

당신은 정말 자신의 링크을 숨길 수 없습니다 - 그들은 또한 것이다 사용자가 브라우저에서 직접 해당 링크를 입력하면 액세스 할 수 있어야합니다.

그러나 할 수있는 일은 이 링크에 대한 액세스를 허가 된 사용자에게만 제한하는 것입니다 (다른 사용자는 권한 거부 오류가 발생합니다). 당신은 몇 가지를 사용하는 경우

- url: /js 
    static_dir: js 
    login: required 

: Google의 Users API를 사용하는 경우

은 당신이해야 할 다음과 같이합니다 (Handlers element 테이블에 login 행 참조) app.yaml 파일에 대한 액세스를 구성이다 다른 인증 방법을 생각해 볼 수있는 유일한 옵션은 js dir을 static_dir으로 게시하지 않는 것입니다. 정적 리소스는 GAE가 직접 CDN과 같은 앱 인스턴스/코드를 터치하지 않고 누구에게나 제공하기 때문에. 대신 api.php 코드와 마찬가지로 앱 코드를 통해 js 파일을 동적으로 게재하십시오. 이렇게하면 요청별로 (예 : 인증 방법에 따라 사용자 로그인/세션 자격 증명을 확인하여) 각 개별 파일에 대해 원하는 액세스 정책을 구현할 수 있습니다.

관련 문제