NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    스크립트 스크립트에 사용 기간을 설정하고 강제로 종료 시키는 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 리셀러분들이 스크립트를 일정 기간만 사용할 수 있도록 제한을 두려면 어떻게 해야 할까요? 방법은 간단합니다. 엔지엠의 웹 기능을 통해서 서버 시간을 받아와서 설정한 시간과 비교하면 됩니다. 그리고, 사용 시간이 현재 시간보다 작으면 엔지엠을 강제로 종료시킬 수 있습니다. 이 기능을 사용하려면 스크립트를 암호화해서 수정할 수 없도록 해야 합니다. 우선, 에디터를 실행하고 아래와 같이 서버 시간을 가져올 수 있는지 체크 해봅니다.

    XaNXRnW.png

     

     

    웹 API의 연결을 네이버 또는 구글과 같은 사이트로 설정해주세요. 그리고, 실행하면 HTTP 헤더 정보를 가져올 수 있습니다. 통신 표준에 따라 Date 정보가 헤더에 포함되어 있으므로 어떤 사이트를 해도 서버의 날짜 정보를 가져올 수 있습니다. 물론, 자신의 서버가 있으면 웹서비스를 이용해도 됩니다. 결과는 동일하니까요^^; 참고로, 브라우저를 실행하지 않으려면 웹브라우저 옵션headless를 추가하세요.

    suVLJ3s.png

     

     

    이제 네이버로부터 가져온 헤더 정보에서 날짜 값을 변수에 추가해줍니다.

    mKm3njG.png

     

     

    날짜를 비교해야 겠죠? 조건에서 날짜 체크 액션을 추가하고, 변수의 날짜 값을 비교 대상 시간으로 가져오세요. 그리고, 날짜와 시간을 사용 기간만큼 설정해줍니다. 이렇게하면 스크립트가 실행될때 서버로부터 현재 시간을 가져와서 사용 기간이 초과되었는지 체크할 수 있습니다. 아래는 날짜가 1월 31일까지이므로 False가 나옵니다.

    E3xyIal.png

     

     

    만약, 사용 기간을 1월 9일로 변경한다면 어떨까요? 당연히 날짜 체크에서 True를 반환하게 되는데요. 이 분기를 이용해서 엔지엠을 강제 종료하거나 정상 실행되도록 처리해야 합니다. 첨부되어 있는 "사용 시간 체크.ngs"는 완료된 스크립트입니다. 다운로드 받아서 확인해보면 쉽게 이해할 수 있을겁니다.

    6oyYGGC.png

     

     

    날짜를 바꾸고 실행하면 아래와 같이 강제로 종료됩니다.

    E295ymd.gif

     

     

    전체적인 시나리오는 위와 같이 날짜로 제한을 둡니다. 그리고, 배포할 때 스크립트를 암호화해야 하죠~ 또한, 다수의 사용자에게 스크립트를 배포하는건 상당히 어려운 일입니다. 리셀러는 원본 스크립트를 자동 배포(구글 드라이브) 프로세스에 따라 배포하고, 구매자는 자동 업데이트를 통해 스크립트를 매달 업데이트 받아야 합니다. 물론, 개별적으로 처리하려면 컴퓨터 등록 정보에서 결제하지 않은 이용자의 컴퓨터를 해제시켜야 합니다. 자동 결제 시스템과 연동한다면 좋겠지만~ 이렇게까지 시스템을 구축한다면 자체 데이타베이스를 이용해서 처리하는게 더 쉽습니다^^;

    [ 예제 스크립트 다운로드 ]

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천1 비추천0

    댓글목록

    등록된 댓글이 없습니다.