2009-04-29 1 views
7

우리는 고객 선택 데이터베이스를 기반으로 Java EE 애플리케이션을 개발 중입니다.안전한 라이센스 Java EE 애플리케이션을 만드는 방법은 무엇입니까?

우리는 사용자 라이센스 가격에 따라 고객에게 판매 할 것입니다. 애플리케이션이 Google의 조건 (예 : 쉽게 해킹 할 수 없음)에 따라 사용되는지 확인하려면 어떻게해야합니까? 사용할 수있는 자습서가 있습니까?

+2

http://stackoverflow.com/questions/475216/python-applications-can-you-secure-your-code-somehow를 참조하십시오. 언어가 다르지만 잘못된 접근법. –

+1

나는 그 질문에 대한 해답을 읽었지만, 내가 원하는 것은 아니었다. 나는 모든 것들이 해킹 가능하다는 것을 알고 있지만 최소한 우리는 그것을 어렵게하려고 노력한다. –

+0

관리 요청이이 요청입니까? –

답변

5

Bill Karwin's answer이 의견에서 언급 한 질문에서 가장 유용한 대답이었습니다. "보호"계획을 진행할 것이라고 가정 할 때 최소한의 노력을하십시오. 다른 어떤 것도 사용자를 대단히 좌절시키는 경향이 있으며 반복적 인 비즈니스가 적어지고 좌절하는 시스템을 해킹하려는 욕구가 커집니다.

질문에 따라 각 사용자가 응용 프로그램을 설치하는지 여부는 알기 힘듭니다. 그렇다면 라이센스 코드를 요구하기 만하면 얻을 수있는 방법으로 연락해야합니다. 이것이 클라이언트 - 서버 일이라면 옵션이 훨씬 제한적입니다. 사실, 나는 내 머리 속에서 설계 한 하나의 솔루션을 생각할 수 없으며 실제로는 그렇지 않다. 대규모로 좌절감을 느낀다. 라이센스 코드가 어떻게 든 지불 한 사용자 수를 나타내는 페이로드를 전달한 다음 해당 수를 초과하는 사용자의 생성/사용을 허용하지 않는다는 점을 제외하면 여기에서도 라이센스 코드 솔루션을 수행 할 수 있습니다. 그 시점에서, 내가 언급 한 그 좌절 노선을 실제로 걷고 있습니다.

+0

클라이언트 - 서버 응용 프로그램입니다. 사용자는 broswer를 클라이언트로 사용합니다. 서버가 클라이언트 네트워크에 설치됩니다. 모든 사용자는 관리자가 만든 계정이지만 라이센스를 구입 한 번호는 갖게됩니다. 라이센스가 최대치에 도달하여 더 많은 라이센스를 원하면 시스템을 구매하고 라이센스를 갱신 할 수 있습니다. –

+0

그런 경우 라이센스 키를 사용하여 컷오프가가는 길임을 나타낼 수 있습니다. –

3

난독 화가 가능하다면 시작하는 방법입니다. 그러나 컨트롤 프레임 워크의 반전 (예 : 스프링)을 사용하면 고통 스러울 수 있습니다. 나는 스프링 컨텍스트를 난독화할 수 있다고 들었지만 결코 시도하지 않았다. 또한 (그냥 추측) 거기에 반사, 동적 프록시 등 일부 놀라움이있을 수 있습니다. 라이선스에 관해서는 TrueLicense을 사용하여 제안 할 수 있습니다. 그것은 자유로운 시험 기간뿐만 아니라 보호의 다양한 측면을 처리하는 매우 유연한 수단을 가지고 있습니다. 매우 잘 작동하고 훌륭한 문서가 있습니다.

0

고객이이 애플리케이션에 대한 비용을 지불합니까? 그렇다면 응용 프로그램 자체의 라이센스보다 지원 비용이 더 많이 듭니다. 그렇다면 이 아닌 응용 프로그램을 잠그는 것이 아니라 소프트웨어의 정품 복사본 (체크섬 등을 통해 입증 된 수정되지 않은 복사본)에 대한 지원만을 제공하는 것으로 간주 할 수 있습니다. 이 소프트웨어를 라이선싱하는 많은 기업들은 지원을 위험에 빠뜨리지 않기 위해 수정 작업을 피하는 경향이 있습니다 (실제 작업을 원할 가능성은 아마도 작은 편이지만).

FYI : 오라클이 e-Business Suite를 사용하는 경향이 있습니다. 원하는 구성 요소를 거의 수정할 수 있습니다. 그래도 행운을 빌어 요!

0

Atlassian이 자사 제품을 어떻게 판매하는지보십시오. 나는 이것이 매우 잘 작동하는 방법이라고 생각하며 아마도 당신에게도 마찬가지입니다. 참고 : 업데이트 구독에 부가 가치가 있어야합니다!