우선, 저는 기적을 바라는 것이 아닙니다... 저는 PHP가 어떻게 작동하는지 알고 있고 암호화를 사용하지 않고는 제 코드를 숨길 수 있는 실질적인 방법이 없다는 것을 알고 있습니다. 하지만 이를 위해서는 실행 중인 서버에 확장 프로그램을 설치해야 하며 이로 인해 비용이 발생합니다.
하지만 저는 뭔가 다른 것을 찾고 있습니다... 저는 코드를 암호화하거나 난독화할 생각은 없습니다. 암호화/난독화된 코드가 없는 PHP 스크립트가 많이 있지만 이는 상용 응용 프로그램입니다. 예를 들어 vBulletin 및/또는 IP.Board 포럼 애플리케이션이 있습니다.
이 사람들이 응용 프로그램에서 어떤 방법을 사용하는지 궁금합니다...
다른 제안도 환영합니다. .
저는 독립된 개인이며 어떤 회사도 대표하지 않는다는 점을 참고하시기 바랍니다. 내 제품도 매우 구체적이어서 매출이 그리 높지 않을 것입니다. 저는 사람들을 고소하거나 사업 허가증을 준비하는 데 변호사를 선임할 여유가 없다는 점을 알아주셨으면 합니다. 가능하다면 제 간단한 제품을 보호할 수 있는 간단한 방법을 찾고 있을 뿐입니다...
목표를 고려해야 합니다.
1) 다른 사람이 귀하의 코드를 읽거나 수정하는 것을 방지하려고 합니까? 그렇다면 난독화/암호화 도구가 필요합니다. 나는 Zend Guard를 사용하여 훌륭한 결과를 얻었습니다.
2) 코드의 무단 재배포를 방지하려고 하시나요? EULA/독점 라이센스는 이러한 행위를 방지할 수 있는 법적 권한을 부여하지만 완전히는 아닙니다. 키/활성화 구성표를 사용하면 사용량을 적극적으로 모니터링할 수 있지만 코드가 암호화되지 않은 경우 이러한 구성표를 제거할 수 있습니다. Zend Guard에는 필요에 따라 특정 스크립트를 특정 클라이언트 시스템에 고정하거나 시간 제한 버전을 생성하는 기능도 있습니다.
저는 vBulletin과 같은 소프트웨어에 익숙하지 않지만 암호화/난독화가 필요하거나 사용자가 올바른 일을 수행할 수 있다는 신뢰가 필요합니다. 후자의 경우 EULA를 통해 원치 않는 행동을 금지하고 EULA 위반에 대한 기소를 지원하는 법률 시스템에 의존합니다.
소프트웨어를 보호하기 위해 법적 조치를 취할 준비/능력이 없고 암호화/난독화를 원하지 않는 경우 다음 옵션을 선택할 수 있습니다. a) 필요한 경우 법적 옵션을 가질 수 있도록 EULA를 사용하여 소프트웨어를 출시하고 모든 일이 잘 진행되기를 바랍니다. 또는 b) 재배포를 허용하는 오픈 소스 라이센스가 더 적절한지 고려하십시오.
혼란스러운 일은 합법적이고 법을 준수하는 고객에게 불편을 끼칠 뿐이며, 귀하를 속일 수 있는 사람들은 귀하의 타겟 유료 고객이 아닙니다. (난독화에 대한 다른 생각 편집)
소프트웨어 보호를 위한 또 다른 팁: 코드가 제공하는 가치의 불완전한 부분인 비즈니스 모델을 만드세요. 예를 들어 제품 라이선스를 판매하고 웹사이트에서 관리하는 특정 데이터에 대한 액세스를 제공하거나 구독 모델이나 고객 지원을 통해 제품 라이선스를 부여합니다.
EULA를 설계하는 것은 코딩 문제가 아니라 법적 문제입니다. 사용하는 제품 및 웹 사이트에 대한 일부 EULA 텍스트를 읽는 것부터 시작할 수 있습니다. 흥미로운 세부 정보를 찾을 수 있습니다!
독점 라이선스 생성은 매우 유연하며 단순한 코딩 이상의 작업이 포함되므로 StackOverflow가 의도한 범위를 벗어날 수 있습니다.
생각나는 EULA의 일부 부분은 다음과 같습니다.
제품에 결함이 있거나 손상을 초래하는 경우 책임을 제한합니다.
고객이 라이선스 소프트웨어를 사용할 수 있는 방법, 기간, 컴퓨터 수, 재배포 권한 보유 여부 등을 명확하게 지정합니다.
라이센스를 시행할 수 있도록 해당 사이트를 감사할 수 있는 권한을 제공합니다.
EULA를 위반하면 어떻게 되나요? 예를 들어 소프트웨어 사용 권한을 잃게 됩니다.
비즈니스 EULA를 준비하려면 법률 전문가와 상담해야 합니다.
EDIT: 이 프로젝트가 변호사 비용을 정당화하지 못하는 경우 다음 리소스를 확인하세요.
joelonsoftware의 "EULA 조언"
"최종 사용자 라이센스 계약 작성 방법"