2013-03-29 2 views
4

내 서버에서 웹 응용 프로그램이 관리 할 새 제품을 판매 할 예정입니다. 웹 응용 프로그램에서 일부 장치를 관리 할 수 ​​있습니다.웹 응용 프로그램의 기능을 사용하기 위해 라이센스를 관리하는 방법은 무엇입니까?

관리자가 구입할 수있는 라이선스 수를 관리 가능한 장치로 제한하고 싶습니다.

내 웹 앱은 현재 수량 제한없이 모든 기기를 관리 할 수 ​​있도록 허용하고 있습니다.

라이센스 (라이센스 키 생성 및 검사)를 구현하거나 사용자가 소유 한 라이센스 키를 기반으로 장치를 제한 할 위치를 알 수 없습니다.

도움이 될 것만 큼 도움이 될 것입니다. 미리 감사드립니다.

참고 : jquery, php 및 mysql을 사용하고 있습니다.

+0

모듈을 컴파일 할 수있을 때까지는 쉽게 되돌릴 수없는 것을 사용할 수 없습니다. JavaScript와 PHP 만 사용하는 경우 보호 또는 제한을 제공하는 모든 루틴을 쉽게 제거 할 수 있습니다. – WilliamK

+0

사용자에게 연결된 유효한 라이센스 키의 양 (MySQL에 저장된 값)을 기준으로 mysql 쿼리를 제한하더라도? – vpx

답변

8

가 아래와 같습니다 나는 데이터베이스에 여러 테이블을 구현하는 것이 :

다음 엔터티가있을 것입니다 : 사용자, 라이센스장치

그리고 이러한 엔티티는 위에 표시된 것처럼 서로 관련됩니다. 모든 라이선스에는 라이선스가 허여 된 장치의 수량에 대한 정보가 포함됩니다.

서비스가 장치에 연결되면 서비스는 연결시 장치가 보내는 ID로 서비스를 인식합니다. 그런 다음 장치를 등록했는지,이 장치와 관련된 라이센스가 있는지 확인할 수 있습니다.

기기 수량에 대한 제한은 기기 등록시 확인됩니다. 사용자가 장치 (테이블 정보를 추가 DevicesLicensedDevices)를 등록

, Licenses 테이블 devicesQty 필드 값에 대해 본 라이센스와 이미 등록 된 장치의 양을 확인한다 코드.

값이 devicesQty이면 더 많은 장치를 추가 할 수 있으면 코드가 새 장치를 데이터베이스에 추가합니다.

UPDATE :

당신이 (예를 들어 - 이러한 장치의 고유 ID를 사용하여) 이러한 장치를 등록 할 필요가 허가 된 장치의 양을 제어 할 수 있습니다. 그렇지 않으면 서비스를 사용하는 장치의 수량을 제어 할 수 없습니다.

하나의 장치가 연결, 작동, 연결 끊기, 연결 해제, 연결 해제, 연결 해제, 연결 해제 등의 작업을 수행합니다. 이 경우 수량을 어떻게 조절할 수 있습니까? 나는이 장치의 ID를 등록하지 않는 한 방법이 없다고 생각합니다.

사용자가 장치를 새 장치로 변경하면 등록 된 장치에 대한 정보를 업데이트하는 절차가 있어야합니다.

고객이 서비스를 사용하기 위해 웹 브라우저 만 사용하는 경우 라이센스/장치를 제어하는 ​​유일한 방법은 userid + password + deviceId를 라이센스에 바인드하는 것입니다.그리고 웹 서비스/웹 서버에 로그인 할 때이 정보를 확인하십시오.

모바일 장치에서 네이티브 응용 프로그램을 사용하여 웹 서비스에 연결하는 경우보다 정교한 방법이 있습니다.

asymetric encryption approach을 통해 라이센스 키 생성/검증을 구현하십시오.

각 사용자에 대해 공개 키와 개인 키를 생성합니다. 그런 다음 데이터베이스에 개인 키를 저장하고 누구에게도 표시하지 마십시오. ABC-123-456

사용 Base64 algorithm 영숫자 문자에 공개 키 바이트를 변환 :

는 공개 키라고하자.

그런 다음 라이센스를 판매하면 임의의 고유 라이센스 코드가 생성됩니다. XYZ-789-012

그리고 공개 키와 라이센스 코드와 최종 사용자 제공 : ABC-123-456XYZ-789-012

하자가 라이센스 코드가 말한다

사용자가 공개 키 및 라이센스 코드를 사용자 지정 모바일 응용 프로그램 설정에 설정합니다. 그리고이 응용 프로그램은이 공개 키를 사용하여 모든 전송 데이터를 암호화합니다. 그리고 라이센스 코드는 데이터 패키지를 암호화하기 전에 데이터 패키지에 포함됩니다.

서버가 장치에서 데이터를 수신하면 deviceId가 적절한 사용자를 찾은 다음 데이터 패키지를 해독하기 위해 적절한 개인 키를 찾습니다. 그런 다음이 데이터 패키지의 정확성을 검사합니다.

+0

답장을 보내 주셔서 감사합니다. 사용자가 기기를 라이센스에 연결할 필요가 없다는 사실을 잊어 버렸습니다. 이는 중요한 관리 대상 기기의 양이므로, 최대 수량을 사용자 ID. 데이터베이스 스키마에서이를 관리 할 수 ​​있다고 생각합니다. 그러나 라이센스 프로세스 (키 생성, 유효성 검사)를 관리하는 방법에 대해 궁금합니다. – vpx

+0

그리고 사용자가 여러 라이센스를 구입 한 경우 구입 한 모든 라이센스에서 수량의 합계를 기준으로 총 수량 합계를 사용하면됩니다. 내가 맞습니까? –

+0

예가 맞습니다 – vpx

관련 문제