장고 응용 프로그램을 클라우드 컴퓨팅 환경에 배포하려고하지만 소스 코드 보안이 걱정됩니다. 컴파일 된 .pyc 파일 만 배포 할 수 있습니까? 공식 파이썬 문서에 따르면, pyc 파일은 '중간 정도로 엔지니어를 역전시키기가 어렵다'고합니다.코드 보안에 대해 걱정할 경우 서버에 .pyc 파일 만 배포해야합니까?
이 방법을 사용하는 것이 장단점은 무엇입니까? 이것은 표준적인 관행입니까? 내가 AWS를 사용하고 있지 않다
는
장고 응용 프로그램을 클라우드 컴퓨팅 환경에 배포하려고하지만 소스 코드 보안이 걱정됩니다. 컴파일 된 .pyc 파일 만 배포 할 수 있습니까? 공식 파이썬 문서에 따르면, pyc 파일은 '중간 정도로 엔지니어를 역전시키기가 어렵다'고합니다.코드 보안에 대해 걱정할 경우 서버에 .pyc 파일 만 배포해야합니까?
이 방법을 사용하는 것이 장단점은 무엇입니까? 이것은 표준적인 관행입니까? 내가 AWS를 사용하고 있지 않다
는
.pyc 파일을 배포하면 항상 작동하지 않습니다. 예를 들어 Apache/mod_wsgi를 사용한다면, 적어도 WSGI 스크립트 파일은 똑 바른 파이썬 코드 여야합니다.
일부 웹 프레임 워크는 원본 소스 코드 파일을 사용할 수도 있습니다. .pyc 파일을 사용하면 웹 프레임 워크에서 사용하는 템플릿에있을 수있는 중요한 정보가 흐려지지 않게됩니다.
일반적으로 .pyc 파일을 사용하는 것은 매우 약한 방어이며 도구를 사용하여 리버스 엔지니어링하여 정보를 추출 할 수 있습니다.
기술적으로 애플리케이션이 실행될 수 있지만 소스 코드를 안전하게 보호하는 방법으로 간주되지는 않습니다.
신뢰할 수있는 호스팅 서비스를 사용하는 것이 좋습니다. 이것은 일반적으로 당신이 찾을 수있는 가장 저렴한 것보다 평판 좋은 호스팅을 지불하는 것을 의미합니다.
예, 방금 컴파일 된 파일을 배포하는 것은 괜찮습니다 ... 제가 그냥 클라우드 컴퓨팅은 전혀 신뢰할 수없는 나라임을 가정 해 봅시다. 고려해야 할 또 다른 포인트는 애플리케이션의 다른 측면입니다. 현재 버그로 인해 악의적 인 사용자가 어떤 기술 스택을 사용하고 있는지, 응용 프로그램이 충돌 할 때 표시되는 오류 메시지의 유형을 알 수 있습니다. 나에게 이것들은 다른 측면들과 같아, 나는 더 많은 것이 있다고 확신한다.
분명히 할 수 있습니다. this question 및 this blog post을 확인하십시오.
내가 생각할 것 한 가지 ... 100 % 신뢰하지 않으면 왜 클라우드 공급자로 전환하겠습니까? pyc 파일 만 업로드하면 코드가 보호 될 수 있지만 사용자 보호는 어떻게해야합니까? 공급자를 신뢰하지 않으면 클라우드 컴퓨팅을 사용하지 않는 것이 더 나을 것입니다.
일반적으로 PYC 파일을 배포하면 정상적으로 작동합니다.
당신이 말했듯이 프로들은 소스 코드를 보호하는데 약간 도움이됩니다.
단점은 다음과 같습니다.
1). PYC는 동일한 Python 버전에서만 작동합니다. 예를 들어, "a.pyc"는 Python2.6에 의해 컴파일되었고 "b.pyc"는 2.7이고 b.pyc "import a"는 작동하지 않습니다. 마찬가지로 "python2.6 b.pyc"도 작동하지 않습니다. 따라서 동일한 Python 버전을 사용하여 모든 PYC와 클라우드 서버의 버전을 생성하십시오.
2). 일부 실시간 디버깅을 위해 SSH를 사용하여 서버를 클라우드로 전환하려면 PYC가 도움을 줄 수 없습니다.
3). 배포 작업을 수행하려면 추가 작업이 필요합니다.
게시물이 매우 유용합니다. 감사합니다. – NeoWang