소개


웹사이트에서 계정 또는 개인 정보 조회를 위해서는 본인 인증 과정을 거쳐야 한다.


공인인증서, 이메일, 핸드폰, 힌트 등 다양한 방식의 인증 방식이 존재하는데


이 중 핸드폰 인증은 본인 명의의 핸드폰으로 문자메세지를 전송해 메세지 내


존재하는 인증 번호를 화면에 입력하는 인증 과정을 거친다.


한두번이야 직접 입력할 수 있지만 일정 횟수를 넘어가면 짜증이 난다.


거의 그럴일도 없겠지만 간혹 반복해야 하는 경우가 생기는데 이로 인해 발생하는 짜증을


조금 덜어내고자 안드로이드 앱과 프로그램을 개발하였다.


소켓 기반으로 작성되었고 한 개의 서버는 한 개의 기기(스마트폰)만 연결 가능하다.


때문에 가장 먼저 연결하는 기기만 사용 가능하며 혹시 모를 외부 기기 접속을 방지하기 위해


간단한 인증도 가능하다. 또한 서버에서 직접 접속한 기기를 끊을 수도 있다.


Copy Pack.zip


위 압축 파일에는 윈도우 실행 프로그램과 안드로이드용 설치 파일이 있다.


아래는 소스 코드이며 Checksum도 존재하니 의심스러울 경우 확인 가능하다.


서버 프로그램 소스 코드 (Java)

https://github.com/Hot6ix/CopyServer


안드로이드 앱 소스 코드 (Kotlin + Java)

https://github.com/Hot6ix/CopyClient



주의 사항


  • 공공에서 제공하는 네트워크 접속 후 사용하는 것을 권장하지 않습니다.
  • 추가 설정 시 외부에서도 접속은 가능하지만 인증번호는 노출 시 위험한 정보이므로 같은 네트워크 안에서만 사용하는 것을 권장합니다.
  • 개발자는 프로그램 사용으로 인해 발생하는 피해를 책임지지 않습니다.


간단 사용 방법


서버 프로그램


실행 시



아이콘 오른쪽 클릭 시


가장 위쪽의 IP(192.168.1.23)를 기억해두자


IP는 컴퓨터마다 다르므로 직접 확인




클라이언트 프로그램


앱 실행 시 (권한 허가 필수)



IP 메뉴를 눌러 아까 기억해둔 IP를 입력



IP 입력 후 연결하기를 누르면 다음과 같이 연결되었다고 뜬다.




연결되었다고 뜰 경우 끝난다.


테스트로 자신한테 숫자를 포함한 메세지를 보내면 PC에 인증번호가 복사되었다고 메세지가 뜰 것이다.


메세지가 뜬 후 Ctrl + V 를 눌러 복사해보면 숫자가 복사된 것을 알 수 있다.



기타 설정


- 서버 프로그램


첫 실행 시 같은 폴더에 설정 파일인 setting.ini 파일을 생성한다.


설정 파일은 비밀번호, 포트, 문자 허용 여부를 수정할 수 있다.


비밀번호(password)의 기본 값은 빈칸으로 인증 과정을 거치지 않느다.


인증을 추가하려면 원하는 비밀번호를 입력하면 된다.


다만 비밀번호는 별도로 암호화되지 않고 또한 통신 과정에서도 plain text로 교환한다.


port는 앱과 서버가 통신하기 위한 통로로 특별한 경우가 아닌 경우 그대로 둘 것을 권장한다.


allowCharacter는 문자 허용 여부로 앱으로부터 받은 데이터 내 숫자아 아닌 문자가 포함되있을 경우


복사할지 말지 결정하는 값으로 false는 복사하지 않고 true 변경 시 복사한다.


설정 파일을 수정/저장 뒤 메뉴 중 서버 재시작을 누르거나 직접 프로그램을 재시작하면 적용된다.



- 클라이언트 앱


부팅 시 연결은 부팅 시 자동으로 서버와 연결할지 결정하는 옵션이다.


필터는 받은 문자메세지에서 인증번호를 추출하는 필터로 정규 표현식(Regex)를 사용하기 때문에


좀 더 정확한 필터링을 원할 경우 수정할 수 있다.


IP와 Port는 서버 프로그램을 실행 중인 기기와 맞춰주면 된다.


비밀번호의 경우 위의 설정 파일에서 비밀번호를 설정한 경우 입력해주면 된다.


by JamesY 2018. 10. 25. 17:17
| 1 |