2012-02-13 3 views
1

) PHP를 사용하여 별도의 기계를 고유하게 식별하는 방법은 무엇입니까? MAC 주소를 사용하고 싶지만 분명히 할 수는 없습니다. $_SERVER['REMOTE_ADDR']을 사용할 수 있지만 IP 주소가 변경됩니다 (그렇지 않습니까?). 또한 브라우저에서 페이지에 액세스하지 않고 프로그램을 사용하여 다운로드하므로 쿠키를 설정할 수 있다고 생각하지 않습니다.별도의 기계 식별 (

이 목적은 내 셰어웨어 데스크톱 응용 프로그램 사용자가 각 컴퓨터의 시범 사용 한도 (레지스트리 항목을 삭제하여 수행 할 수 있음)를 초과하여 프로그램을 사용하지 못하게하기 위해서입니다. 따라서 새로운 각 설치를 등록하려면 평가판 기간 이전에 기계가 등록되지 않았는지 확인하는 mySQL 데이터베이스가있는 클라우드.

의견이 있으십니까?

+0

그러면 사용자가 컴퓨터의 서버에서 응용 프로그램을 실행하게됩니까? –

+0

제한된 정보로는 알기가 어렵지만 한 번 다운로드 한 후에 만료되는 리소스에 대한 일회용 링크를 구현해야합니다. –

+0

죄송합니다, 프로그램이 사용자의 컴퓨터에서 실행됩니다 (오프라인으로 사용할 수 있음). 프로그램이 설치되면 GET [] 변수를 포함하는 내 서버의 PHP 스크립트에 HTTP 요청을하고, IP ​​주소 및 현재 시간과 같은 정보와 함께 데이터베이스에 추가됩니다. 그들이 프로그램을 다시 설치하기 위해 방문하면 다시 식별 할 수있는 변수를 추가하고 싶습니다. –

답변

0

그럼 설치 프로그램에서 PHP 스크립트가 아닌 PHP로 값을 전달하는 것에 대해 걱정해야합니다. 설치 프로그램에서 MAC 주소를 얻는 방법을 묻는 것이 좋습니다. - Xeon06

1

다른 접근 방식을 시도해야한다고 생각합니다.

IP는 기계를 식별하는 데 도움이되지 않습니다. 내 집에 무선 액세스 포인트가 있고 인터넷에 연결된 모든 장치가 동일한 IP 주소를 가지고 있다고 생각하십시오. 또는 우리 회사에서는 프록시 서버를 사용하고 PC는 두 개의 서로 다른 IP를 교환하여 요청합니다.

일부 소프트웨어 회사는 특정 PC에서 응용 프로그램의 잠금을 해제하는 키 역할을하는 하드웨어 카드를 클라이언트에 설치하도록 요구하지만이 종류의 라이센스는 4 자리 이상 필요합니다. 그리고 그것은 끔찍한 UX입니다. OS 또는 다른 하드웨어 부품을 재설치 할 때마다 처음부터 잠금 해제 프로세스를 수행해야한다는 것을 상상하십시오 (종종 회사 지원 센터에 전화를 걸어야합니다).

아마도 사용자 별 전화 번호로 SMS를 통해 보낸 한 번만 암호를 요청하면 사용자 인증을 시도 할 수 있습니다. 그리고 전화 번호 당 요청을 시간당 5 회, 하루에 10 회 정도로 제한하십시오.

인기있는 Freemium 모델을 사용해 볼 수도 있습니다. 무료 사용자는 최소한의 기능을 가지며 유료 고객 만 좋은 물건에 액세스 할 수 있습니다.

하지만 어떤 소프트웨어를 제공하는지 모르겠으니 어쩌면 이런 종류의 해결책도 적용되지 않을 것입니다.