프로덕션 웹 사이트를 디버깅하고 싶지만 서버에 맵 파일을 업로드하지 않으려합니다 (개인 정보 보호를 위해 공용이기 때문에). .javascript 소스 맵 : 디버그 프로덕션 javascript에만 로컬 맵 파일 유지
가능합니까?
프로덕션 웹 사이트를 디버깅하고 싶지만 서버에 맵 파일을 업로드하지 않으려합니다 (개인 정보 보호를 위해 공용이기 때문에). .javascript 소스 맵 : 디버그 프로덕션 javascript에만 로컬 맵 파일 유지
가능합니까?
현재 모든 브라우저가 로컬 파일에서 소스 맵을로드 할 수 있다고 생각하지 않습니다. 따라서 소스 맵을 온라인으로 가져와야합니다.
소스 파일 (및 원본 소스 파일)에 대한 액세스를 로컬 네트워크에없는 클라이언트로 제한하는 .htaccess 파일 (또는 Apache를 사용하지 않는 경우 유사)을 만들 수 있습니다. .
보안상의 이유로 소스 맵에 대한 액세스를 막으려면, 모두 안전하다는 잘못된 인식이 있어야합니다. Javascript는 공개되어 있으며 암호화되어 있어도 암호화를 해제하는 것이 매우 쉽습니다. 아니요은 자바 스크립트에 중요한 데이터를 입력하십시오. 심지어 당신이 그것을 축소하고 암호화하더라도.
암호화되어 있으면 실행되지 않을 것입니다. [난독 화] (https://en.wikipedia.org/wiki/Obfuscation_%28software%29)를 의미하는 것 같습니까? –
물론 난독 화 코드를 전달하여 난독 화를 풀 수도 있지만, 내 생각에 무엇을 생각하든 여전히 모든 코드와 데이터를 클라이언트에 보낼 것입니다. 따라서 놀라운 암호화 체계를 만들었더라도 클라이언트가이를 암호화 할 수있는 수단을 보내야합니다. 그렇지 않으면 클라이언트가 클라이언트를 실행할 수 없기 때문입니다. 공격자가해야 할 일은 '비밀'데이터가 암호화되지 않은 상태에서 중단 점을 넣는 것입니다. – AHM
중요한 데이터를 숨기는 것이 아니라 기능을 향상시키는 데 필요한 노력을 높이는 것입니다. – caesay
유용 할 수 있습니다 다음과 같은 사항에 대해
Multi-level Source Maps - CSS의 닌자
링크는 또한 입력 소스 맵이 지정 될 수있는 UglifyJS2를 사용하여 설명한다. 그러나 로컬 입력 소스로 테스트하지 않았습니다
또한 로컬에서 파일을 호스팅하고 local.mydomain.com
에서 localhost
과 같은 파일을 변경해보십시오. 그리고 local.mydomain.com/js/my-orig-js-file.js
을 소스 루트로 지정하십시오.
또 다른 해결책은 맵 파일과 축소 된 j를 서버에 업로드하고 원본 js 파일을 로컬로 유지하는 것입니다. 그런 다음지도 파일을 다음과 같이 수정하십시오.
{
"version":3,
"sources":["http://localhost/library.js"],
"names":["example","console","log"],
"mappings":"AAAA,QAASA,YACRC,QAAQC,IAAI","file":"script.min.js"
}
모든 JavaScript 코드가 공개 된 것으로 간주하여지도 파일에 대한 개인 정보는 무엇입니까? – Quantastical