프로덕션의 소스 맵 파일-안전합니까?
저는 UglifyJS 를 사용하여 내 소스를 축소 및 추방하고 Sentry 를 사용하여 프로덕션 환경의 오류를보고 하고 있습니다.
Sentry에서 읽기 쉬운 방식으로 오류를 얻으려면 소스 맵을 추가해야합니다.
프로덕션 서버에서 수행하는 것이 안전합니까? 아니면 소스 맵 파일이 스테이징 환경에만 있어야합니까?
프로덕션 환경에서 보안을 유지하는 방법이 있습니까?
이에 대한 가능한 해결책을 찾고 누군가 Sentry를 특별히 사용하지 않는 경우 다음 블로그 게시물 (아이러니하게도 Sentry 블로그 게시물)에 도달했습니다.
https://blog.sentry.io/2015/10/29/debuggable-javascript-with-source-maps.html
흥미로운 아이디어가있는 곳 : "개인 소스 맵". 이는 인터넷 (예 : 회사 VPN)에서 액세스 할 수없는 위치에서 소스 맵을 생성하는 것을 의미하므로 귀하 또는 귀하의 팀만 소스 맵 파일에 액세스 할 수 있습니다.
게시물 의 "Private Source Maps" 섹션을 인용 :
[...] 모든 예제는 소스 맵이 공개적으로 사용 가능하고 실행중인 JavaScript 코드와 동일한 서버에서 제공된다고 가정합니다. 이 경우 모든 개발자는이를 사용하여 원본 소스 코드를 얻을 수 있습니다.
이를 방지하기 위해 공개적으로 액세스 가능한 sourceMappingURL을 제공하는 대신 개발 팀만 액세스 할 수있는 서버에서 소스 맵을 제공 할 수 있습니다. 예를 들어 회사의 VPN에서만 연결할 수있는 서버입니다.
// # sourceMappingURL : http : //company.intranet/app/static/app.min.js.map
팀 구성원이 아닌 구성원이 개발자 도구를 연 상태로 애플리케이션을 방문하면이 소스 맵을 다운로드하려고 시도하지만 404 (또는 403) HTTP 오류가 발생하고 소스 맵이 적용되지 않습니다.
나에게 좋은 생각 같아!
주요 관심사는 "사용자가 내 소스 코드를 가지고 있어도 괜찮습니까?"입니다. 일반적으로 사용자는 어쨌든 일을 난독화할 수 있으므로 괜찮습니다.
즉, Sentry를 사용하는 경우 실제로 릴리스 API 를 사용 하여이 문제를 피할 수 있습니다. 여전히 아티팩트를 생성하고 URL (또는 API가 처리 할 수있는 항목)을 설정해야하지만 인터넷에 노출 할 필요는 없습니다.
참고 URL : https://stackoverflow.com/questions/27345520/source-maps-files-in-production-is-it-safe
'programing' 카테고리의 다른 글
다른 할당자를 사용하는 STL 문자열 비교 (0) | 2020.12.09 |
---|---|
"Bastard Injection"과 "Poor Man 's Injection"의 실제 차이점은 무엇입니까? (0) | 2020.12.09 |
MySQL에서 Cassandra로 전환-장점 / 단점? (0) | 2020.12.09 |
Xcode를 다시 다운로드하지 않고 iPhone SDK를 업데이트하는 방법은 무엇입니까? (0) | 2020.12.09 |
priority_queue를 반복하는 방법은 무엇입니까? (0) | 2020.12.09 |