복붙노트

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

PHP

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

우선, 나는 기적을 찾고 있지 않다 ... PHP가 어떻게 작동하는지, 그리고 암호화를 사용하지 않고 클라이언트에서 코드를 숨길 수있는 방법이 없다는 것을 안다. 그러나 이것은 실행중인 서버에 설치하는 확장의 비용과 함께 제공됩니다.

그래도 뭔가 다른 것을 찾고 있는데 ... 내 코드를 암호화하거나 심지어 혼란스럽지 않을 것이다. 암호화되거나 난독 화 된 코드가없는 PHP 스크립트가 많이 있지만 상용 응용 프로그램입니다. 예를 들어, vBulletin 및 / 또는 IP.Board 포럼 응용 프로그램.

나는이 사람들이 자신의 응용 프로그램에 어떤 접근 방식을 사용하는지 알고 싶습니다 ...

나는 또한 다른 제안에 열려 있습니다.

저는 한사람이고 회사에서는 일하지 않습니다. 내 제품도 매우 구체적이어서 판매하지 않을 것입니다. 저는 여러분이 누군가를 고소하거나 상업 면허증을 준비하기 위해 법률 전문가와 상담 할 여력이 없다는 것을 여러분 께 알리고 싶습니다. 나는 정말로 간단한 제품을 보호 할 수있는 간단한 방법을 찾고 있습니다. 어떻게 든 가능하다면 ...

해결법

  1. ==============================

    1.난처한 것은 합법적이고 법을 준수하는 고객에게 불편을 끼칠뿐, 어쨌든 고객을 유치하려는 목표는 아닙니다. (난독 화에 대한 다른 생각을 편집했습니다)

    난처한 것은 합법적이고 법을 준수하는 고객에게 불편을 끼칠뿐, 어쨌든 고객을 유치하려는 목표는 아닙니다. (난독 화에 대한 다른 생각을 편집했습니다)

    소프트웨어를 보호하기위한 또 다른 제안 : 코드가 오퍼링의 가치 중 불완전한 부분 인 비즈니스 모델을 만듭니다. 예를 들어 제품 라이선스를 사이트에서 관리하는 일부 데이터에 액세스 할 수있게 판매하거나 구독 모델이나 고객 지원을 통해 제품의 라이선스를 취득 할 수 있습니다.

    EULA를 설계하는 것은 코딩 문제가 아닌 법적 문제입니다. 귀하가 사용하는 제품 및 웹 사이트에 대한 일부 EULA 텍스트를 읽는 것으로 시작할 수 있습니다. 흥미로운 세부 사항을 찾을 수 있습니다!

    독점 라이센스를 만드는 것은 매우 유연하며 아마도 StackOverflow의 의도 된 범위를 벗어나는 주제입니다. 엄격하게 코딩하는 것이 아니기 때문에 가능합니다.

    염두에 두는 EULA의 일부 :

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

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

  2. ==============================

    2.당신은 당신의 목표를 고려해야합니다 :

    당신은 당신의 목표를 고려해야합니다 :

    1) 사람들이 코드를 읽거나 수정하지 못하게하려고합니까? 그렇다면 난독 화 / 암호화 도구가 필요합니다. 나는 Zend Guard를 성공적으로 사용했습니다.

    2) 코드의 무단 전재를 방지하려고합니까? EULA / 독점 라이센스는이를 방지 할 법적 권한을 제공하지만 실제로 중지하지는 않습니다. 키 / 활성화 구성표를 사용하면 적극적으로 사용을 모니터링 할 수 있지만 코드를 암호화하지 않으면 제거 할 수 있습니다. Zend Guard는 또한 특정 스크립트를 특정 고객 시스템에 고정 시키거나 원하는 경우 코드의 시간 제한 버전을 생성하는 기능을 제공합니다.

    나는 vBulletin 등에 익숙하지 않지만 암호화 / 난독 화 또는 사용자가 올바른 일을 할 수 있도록 신뢰해야합니다. 후자의 경우에는 바람직하지 않은 행동을 금지하는 EULA 및 EULA 위반을 복구 할 수있는 법적 시스템을 보유하고 있습니다.

    귀하의 소프트웨어를 보호하기 위해 법적 조치를 취할 준비가되지 않았지만 귀하가 암호화 / 난독 화하고 싶지 않은 경우, 귀하의 옵션은 다음과 같습니다 : a) EULA로 릴리즈하여 필요한 경우 법적 옵션을 보유하십시오 최선의 결과를 기대하거나 b) 오픈 소스 라이센스가 더 적절하고 재배포 만 허용 할 수 있는지 고려하십시오.

  3. ==============================

    3.당신은 PHP 컴파일러를 사용할 수 있습니다 :

    당신은 PHP 컴파일러를 사용할 수 있습니다 :

    로드 센드

    PHP

  4. ==============================

    4.나는 VBulletin 소스 코드를 언젠가는 보지 못했지만, 2003 년경에는 코드 내에서 서버에 호출을 포함 시켰습니다. IIRC, 그것은 정말로 긴 코드 행 (200-300 + chars와 같음)에 있었고 여러 문자열 연결 등에서 분리되었습니다.

    나는 VBulletin 소스 코드를 언젠가는 보지 못했지만, 2003 년경에는 코드 내에서 서버에 호출을 포함 시켰습니다. IIRC, 그것은 정말로 긴 코드 행 (200-300 + chars와 같음)에 있었고 여러 문자열 연결 등에서 분리되었습니다.

    만약 당신이 불법 복제했다면 "나쁜"것은 아무것도 없었습니다 - 포럼은 여전히 ​​100 % 일했습니다. 그러나 서버의 IP는 다른 정보와 함께 기록되었으며 조사 및 법적 조치를 취하는 데 사용되었습니다.

    이 호출에는 라이센스 번호가 포함되어있어 라이센스가 부여 된 사본이 실행중인 IP / 웹 사이트의 수를 쉽게 추적 할 수 있습니다.

  5. ==============================

    5.자신을 호스팅하고 웹을 통해 액세스하는 "클라우드 앱"을 만들 수 없다면 VMWare, Parallels, Sun 등의 가상 서버를 사용하여 가상 어플라이언스를 만들고 " "리눅스 버전. PHP 코드를 가상 환경에두고 서버에 가상 시스템을 설치하십시오. root 로의로드를 방지하는 방법을 만들어야합니다. 물론, 이것은 물리적으로 고객을 직접 방문하는 것을 포함합니다.

    자신을 호스팅하고 웹을 통해 액세스하는 "클라우드 앱"을 만들 수 없다면 VMWare, Parallels, Sun 등의 가상 서버를 사용하여 가상 어플라이언스를 만들고 " "리눅스 버전. PHP 코드를 가상 환경에두고 서버에 가상 시스템을 설치하십시오. root 로의로드를 방지하는 방법을 만들어야합니다. 물론, 이것은 물리적으로 고객을 직접 방문하는 것을 포함합니다.

  6. ==============================

    6.그들은 독점권하에 소프트웨어를 배포합니다. 법은 자신의 권리를 보호하고 고객이 소스를 재배포하는 것을 방지합니다. 실제로 그렇게하는 데 어려움은 없습니다.

    그들은 독점권하에 소프트웨어를 배포합니다. 법은 자신의 권리를 보호하고 고객이 소스를 재배포하는 것을 방지합니다. 실제로 그렇게하는 데 어려움은 없습니다.

    그러나 잘 알고 있겠지만 소프트웨어 제품의 저작권 침해 (저작권 침해)는 매우 일반적인 현상입니다.

  7. ==============================

    7.제 생각에는 PHP 코드 프로그램이 독립 실행 형 모델 용으로 작성된 경우 ... 최상의 솔루션은 c) Phalanger (.NET)와 같은 컨테이너에서 PHP를 래핑 할 수 있습니다. 특히 프로그램이 Windows 사용자를 대상으로하는 경우 모두가 시스템에 단단히 묶여 있음을 모두 알고 있습니다. .NET / VB / C # 또는 .NET에서 사용하는 prog.lang.family 세트와 같은 Windows 프로그래밍 언어로 자신의 보호 알고리즘을 만들 수 있습니다.

    제 생각에는 PHP 코드 프로그램이 독립 실행 형 모델 용으로 작성된 경우 ... 최상의 솔루션은 c) Phalanger (.NET)와 같은 컨테이너에서 PHP를 래핑 할 수 있습니다. 특히 프로그램이 Windows 사용자를 대상으로하는 경우 모두가 시스템에 단단히 묶여 있음을 모두 알고 있습니다. .NET / VB / C # 또는 .NET에서 사용하는 prog.lang.family 세트와 같은 Windows 프로그래밍 언어로 자신의 보호 알고리즘을 만들 수 있습니다.

  8. ==============================

    8.정말 다른 사람으로부터 PHP 응용 프로그램을 보호하는 유일한 방법은 소스 코드를 공유하지 않는 것입니다. 온라인 어딘가에서 코드를 게시하거나 코드에 액세스 할 수있는 사람이 아닌 다른 매체를 통해 고객에게 보내면됩니다.

    정말 다른 사람으로부터 PHP 응용 프로그램을 보호하는 유일한 방법은 소스 코드를 공유하지 않는 것입니다. 온라인 어딘가에서 코드를 게시하거나 코드에 액세스 할 수있는 사람이 아닌 다른 매체를 통해 고객에게 보내면됩니다.

    모든 코드 사본에 고유 한 워터 마크를 추가 할 수 있습니다. 그렇게하면 누수를 한 고객에게 다시 추적 할 수 있습니다. (하지만 코드가 이미 사용자의 제어 범위를 벗어 났으므로 도움이 될 것입니다.)

    내가 보는 대부분의 코드에는 라이센스가 포함되어 있으며 아마도 보증이 제공됩니다. 사람들이 스크립트를 변경하지 말라고 말하는 스크립트 상단의 줄이 아마도 충분할 것입니다. 본인; 오픈 소스가 아닌 코드를 발견하면 프로젝트에서 사용하지 않을 것입니다. 어쩌면 나는 조금 속는 사람이지만, ppl이 내 OSS 코드를 사용하지 않을 것을 기대한다!

  9. ==============================

    9.Zend Guard는 php 5.5를 지원하지 않으며 쉽게 뒤집을 수 있습니다. http://www.ioncube.com에서 난독 화를 시도하십시오. http://wwww.phplicengine.com은 스크립트를 원격 또는 로컬로 라이센스 할 수 있습니다.

    Zend Guard는 php 5.5를 지원하지 않으며 쉽게 뒤집을 수 있습니다. http://www.ioncube.com에서 난독 화를 시도하십시오. http://wwww.phplicengine.com은 스크립트를 원격 또는 로컬로 라이센스 할 수 있습니다.

  10. ==============================

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

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

    [편집 날짜 : 2016] Zend가 PHP5.5를 다루지 않는다는 최근 답변이 있습니다. SD PHP Obfuscator가합니다.

  11. ==============================

    11.그래서 보자, 우리는 아담과 이브에 나무에 금지 된 과일이 있다는 것을 보여주고 싶다. 우리가 그들을 먹지 못하게하는 방법을 원한다.

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

    화염검을 든 천사는 어떻습니까?

  12. from https://stackoverflow.com/questions/336057/best-solution-to-protect-php-code-without-encryption by cc-by-sa and MIT license