source

암호화 없이 PHP 코드를 보호하는 최적의 솔루션

gigabyte 2023. 1. 12. 22:06
반응형

암호화 없이 PHP 코드를 보호하는 최적의 솔루션

우선, 난 기적을 찾는 게 아니야PHP가 어떻게 동작하는지 알고 있으며, 암호화를 사용하지 않고는 클라이언트로부터 코드를 숨길 수 없습니다.단, 실행 중인 서버에 확장기능을 설치하는 비용이 발생합니다.

뭔가 다른 걸 찾고 있는데...난 내 코드를 암호화하거나 난독화하려는 게 아니야암호화/암호화 코드가 없는 PHP 스크립트는 많지만 상용 어플리케이션입니다.예를 들어 vBulletin 및/또는 IP입니다.보드 포럼 어플리케이션

이 사람들이 응용 프로그램에 어떤 접근 방식을 사용하는지 알고 싶을 뿐이에요

다른 제안도 받아들일 수 있습니다.

저는 독신이고 회사에 다니지 않습니다.제 제품도 매우 구체적이기 때문에 그렇게 많이 팔리지는 않을 것입니다.법률 전문가와 상담해서 고소하거나 상업용 면허증을 준비할 여유가 없다는 걸 알아주셨으면 합니다간단한 제품을 보호할 수 있는 간단한 방법을 찾고 있습니다. 만약 가능하다면, 어떻게든...

물건을 난독화시키는 것은 합법적이고 법을 준수하는 고객들을 불편하게 할 뿐이며, 당신에게 바가지를 씌우려는 사람들은 어쨌든 당신의 유료 고객이 아닙니다.(난독화에 대한 다른 생각을 정리)

소프트웨어를 보호하기 위한 또 다른 제안: 코드가 서비스 가치의 불완전한 부분인 비즈니스 모델을 작성합니다.예를 들어 사이트에서 관리하는 일부 데이터에 대한 액세스와 함께 제품 라이센스를 판매하거나 구독 모델 또는 고객 지원을 통해 제품에 라이센스를 부여합니다.

EULA의 설계는 법적 문제이지 코딩 문제가 아닙니다.먼저 사용하는 제품 및 웹 사이트의 EULA 텍스트를 읽을 수 있습니다.당신은 흥미로운 세부사항을 찾을 수 있을 것이다!

자체 라이선스의 작성은 매우 유연하며 코딩에 관한 것이 아니기 때문에 StackOverflow의 의도된 범위를 벗어나는 주제일 수 있습니다.

EULA에서 떠오르는 부분:

  • 제품에 버그가 있거나 파손이 발생한 경우 책임을 제한합니다.
  • 고객이 라이선스가 부여된 소프트웨어를 얼마나 오랫동안 사용할 수 있는지, 머신 수, 재배포권 유무 등에 대해 자세히 설명합니다.
  • 라이선스를 적용할 수 있도록 사이트를 감사할 수 있는 권한을 부여합니다.
  • 고객이 EULA를 위반할 경우(예: 소프트웨어를 사용할 수 있는 권한이 상실됨) 어떻게 됩니까?

상용 EULA를 준비하려면 법률 전문가와 상의해야 합니다.

편집: 이 프로젝트가 변호사의 비용을 정당화할 수 없는 경우 다음 자료를 확인하십시오.

목표를 고려해야 합니다.

1) 다른 사람이 당신의 코드를 읽거나 수정하지 못하도록 하고 있습니까?그렇다면 난독화/암호화 도구가 필요합니다.젠드 가드를 잘 써봤어요.

2) 코드 무단 재배포를 방지하고 있습니까?EULA/전유 라이센스는 이를 방지할 법적 권한을 부여하지만 실제로 이를 중단시키지는 않습니다.키/액티베이션 스킴을 사용하면, 사용 상황을 액티브하게 감시할 수 있습니다만, 코드를 암호화하지 않는 한 삭제할 수 있습니다.또한 Zend Guard에는 특정 스크립트를 특정 고객 머신에 잠그거나 시간제한 버전의 코드를 작성할 수 있는 기능도 있습니다.

vBulletin 등에 대해서는 잘 모릅니다만, 암호화/암호 해독을 하거나 사용자를 신뢰할 수 있어야 올바른 작업을 수행할 수 있습니다.후자의 경우 바람직하지 않다고 판단되는 행위를 금지하는 EULA와 EULA 위반을 뒷받침하는 법적 시스템을 보유할 수 있습니다.

소프트웨어를 보호하기 위해 법적 조치를 취할 준비가 되지 않았거나 소프트웨어를 암호화/암호화하지 않으려면 a) EULA를 통해 소프트웨어를 릴리스하여 필요할 때 법적 옵션을 확보하거나 b) 오픈 소스 라이선스가 더 적합한지 여부를 고려하여 재배포를 허용할 수 있습니다.

한동안 VBulletin 소스 코드를 살펴본 적이 없습니다만, 2003년경에는 서버에 대한 콜을 코드 안에 삽입하는 방법을 사용했습니다.IIRC는 매우 긴 코드 라인(예: 200~300자 이상)에 있으며 여러 문자열 연결로 분할되어 있습니다.

불법복제해도 나쁜 짓은 하지 않았다.- 포럼은 여전히 100% 작동했다.그러나 서버의 IP는 다른 정보와 함께 기록되었으며, 이를 사용하여 조사 및 법적 조치를 취했습니다.

이 콜에는 라이센스 번호가 포함되어 있기 때문에, 라이센스 카피가 실행되고 있는 IP/웹 사이트의 수를 간단하게 추적할 수 있었습니다.

사용자가 직접 호스트하고 웹을 통해 액세스하는 "클라우드 앱"을 만들 수 없는 경우 가상 서버(VMWare, Parallels, Sun 등)를 사용하여 가상 어플라이언스를 만들고 그 위에 "lite" 버전의 Linux를 설치하는 방법을 검토할 수 있습니다.가상 환경에 PHP 코드를 넣고 해당 서버에 가상 시스템을 설치합니다.루트에 로드되지 않도록 하는 방법을 만드십시오.물론 직접 고객을 방문해야 합니다.

이들은 독점 라이선스로 소프트웨어를 배포합니다.법률은 그들의 권리를 보호하고 그들의 고객이 소스를 재배포하는 것을 금지하고 있지만, 실제로 그렇게 하는 것은 어렵지 않다.

하지만 잘 아시겠지만 소프트웨어 제품의 저작권 침해(해적)는 매우 일반적인 현상입니다.

php 어플리케이션을 다른 어플리케이션으로부터 보호하는 유일한 방법은 소스 코드를 공유하지 않는 것입니다.온라인으로 코드를 게시하거나 특정 매체를 통해 고객에게 보내는 경우, 사용자가 아닌 다른 사용자가 코드를 액세스할 수 있습니다.

코드의 모든 복사본에 고유한 워터마크를 추가할 수 있습니다.그렇게 하면 싱글 고객으로부터의 누출을 추적할 수 있습니다.(하지만 코드가 이미 당신의 통제 범위를 벗어났기 때문에 그것이 당신에게 도움이 될까요?)

내가 보는 대부분의 코드에는 면허증과 보증서가 붙어 있다.스크립트의 맨 위에 스크립트를 변경하지 말라고 하는 행은 아마 쓸모가 없을 것이다.Self: 오픈 소스 코드가 아닌 것을 발견하면, 그것을 프로젝트에 사용하지 않습니다.내가 좀 어리둥절하긴 하지만, ppl은 OSS가 아닌 코드를 사용하지 않았으면 좋겠어!

제 생각에는, 만약 당신의 php 코드 프로그램이 독립형 모델용으로 쓰여져 있다면...c) php는 phalanger(.NET)와 같은 컨테이너에 싸서 사용할 수 있습니다.특히 프로그램이 Windows 사용자를 대상으로 하고 있는 경우 시스템에 단단히 연결되어 있다는 것을 모두가 알고 있기 때문입니다.당신은 단지 당신만의 보호 알고리즘을 와 같은 윈도우 프로그래밍 언어로 만들 수 있습니다.NET/VB/C# 또는 에서 알고 있는 모든 것.NET prog.lang. 패밀리 세트

Zend Guard는 php 5.5를 지원하지 않으며 되돌리기 쉽습니다. 난독화에 대해서는 http://www.ioncube.com을 참조하십시오.http://wwww.phplicengine.com 는 스크립트에 리모트 또는 로컬 라이선스를 부여할 수 있습니다.

SD PHP 난독화기를 참조하십시오.거대한 PHP 파일 시스템을 처리합니다.PHP 서버에는 런타임 요구 사항이 없습니다.추가 런타임 오버헤드가 없습니다.

[Edit 2016년 5월] 최근 답변에 따르면 Zend는 PHP5.5를 지원하지 않습니다.SD PHP 난독화기는 가능합니다.

어디 보자, 우리는 아담과 이브에게 나무에 금지된 과일이 있다는 것을 보여주고 싶다. 그리고 우리는 그들이 먹는 것을 막을 방법을 원한다.

불타는 검을 든 천사가 있는 건 어때?

  1. 순진하게 들릴 수도 있고, 실제로 어떤 응용 프로그램을 사용하는지 모르겠지만, 를 광범위하게 사용하는 것은 어떻습니까?

  2. 정규 사용자의 경우 표시되는 소프트웨어는 모두 표시됩니까, 아니면 일부만 표시됩니까?왜냐하면 당신은 난독화하여 합법적인 소스코드의 복사본을 줄 수 있기 때문이다.

  3. php를 Palanger(.)와 같은 컨테이너로 포장할 수 있습니다.네트워크)

  4. 외부 도난에 대한 우려가 있을 수 있습니다.즉, 고객이 코드를 사용할 때 웹상에서 자유롭게 볼 수 있습니다.이것은 연간 50달러의 저렴한 웹 사이트 호스팅에 투자할 가치가 있으며, 합법적인 고객을 코드에 시리얼로 등록하고 앱이 정기적으로 웹 사이트에 정보를 게시하도록 할 수 있습니다.최소한, 당신은 코드가 손상되었을 때 알아차릴 수 있습니다.n일 후 자폭으로 푸시할 수 있으므로 고객에게 연락하여 시리얼을 변경할 수 있습니다.전체 코드 중 유일하게 난독화된 include()일 수 있습니다.

언급URL : https://stackoverflow.com/questions/336057/best-solution-to-protect-php-code-without-encryption

반응형