내 Google Maps API 키를 보호해야합니까?
내 도메인에 대한 Google Maps API 키를 얻었습니다.
요청을 포함하는 키를 보여줍니다. 예를 들면 다음과 같습니다.
<script src="http://maps.google.com/maps?file=api&v=2&sensor=true_or_false&key=my-key" type="text/javascript"></script>
요청의 리퍼러 필드가 내 도메인과 일치해야 점에 감사드립니다. 펼쳐지는 곳 내 키를 표시해도 안전하고? 아니면 내가 취해야 할 다른 조치가 있습니까?
이 키가 <script>
HTML 페이지 의 태그에 포함되는 점을 고려하면 Google 서버에서 JS 파일 / 데이터를로드 할 수있는 작업이 없습니다.
- HTML 파일에 넣어야합니다.
- 모두가 그것을 볼 수 있습니다.
그래도 문제가되지 않습니다. 누군가 귀하의 도메인이 아닌 다른 도메인에서 Javascript 경고가 표시됩니다. 이것은 사용자에게 좋지 않습니다.
그래서 :
- 당신이 할 수있는 일은 없습니다. 작동하는 방식입니다
- 그리고 당신이 걱정할 것이 많지 않다고 말하고 싶습니다.
Google API 콘솔에는 다른 도메인 / 사용자가 사용하는 API 사용하지 않는 것이 있습니다. API 콘솔에서 리퍼러를 사용하여이를 제한하고 보호 할 수 있습니다. API 키는 제한과 일치하는 리퍼러가없는 요청을 거부합니다.
다음은 두 도메인에서 Google에서만 사용할 수있는 API 키용 Google의 스크린 샷입니다.
이 질문은 몇 년 전이지만 아주 좋은 질문입니다. 내가 이해했듯이 API 키가 도메인과 일치하지만 노출되면 여전히 남용으로 이어질 수 있습니다. 여기에 더 자세히 다루는 내용 Security Stack Exchange 에 대한 게시물 이 있습니다.
강화 인 악용을 방지하기 위해 여기에 수있는 조치는 Google에 의해 게시되었습니다.
업무 API를 사용하기위한 모범 사례 가이드 : https://support.google.com/cloud/answer/6310037?hl=ko
모든 것을 기내에 가져 오는 것이 좋지만 Brabster가 게시 한 특정 예제를 처리하는 접근 방식이 환경 변수에 키 를 저장하는 것입니다 . 이렇게하면 프로젝트 저장 서버 측 변수를 키로 대체하기 만하면됩니다. 그러나 키를 저장하는 파일을 공용 리포지토리에 커밋하지 않습니다.
당신이 왜 귀찮게하는지 모르겠습니다. 키가 도메인에서만 유효하지 않습니까? IIRC는 생성 된 시간과 같이 Google에서 추가 할 수있는 모든 정보를 제외하고는 도메인 이름뿐입니다.
키를 보호하고 처리하는 백엔드 / 서버 측을 찬성합니다. 제 경우에는 서버 펼쳐 / db에서 키를 가져 오기 Google API에 전달하기 위해 ajax 호출을 제공 할 수있는 Django f / w 서버 측을 사용했습니다.
'IT' 카테고리의 다른 글
멤버 변수에 대한 PHP 중괄호 구문 (0) | 2020.10.10 |
---|---|
C # 또는 .NET의 어셈블리는 정확히 무엇입니까? (0) | 2020.10.10 |
템플릿 클래스 멤버 함수의 명시 적 전문화 (0) | 2020.10.10 |
Java 애플리케이션 당 하나의 JVM이 있습니까? (0) | 2020.10.10 |
포함 () 연산자가 Entity Framework의 성능을 향상시키는 이유는 무엇입니까? (0) | 2020.10.10 |