2017-12-10 7 views
1

웹 응용 프로그램의 보안에 대해 질문하고 싶습니다.웹보기에서만 웹 사이트를 열 수 있습니다.

웹 서비스로 재고 관리 시스템을 웹 사이트에서 개발 중입니다. 그리고 webview로 안드로이드 응용 프로그램으로 배치.

하지만 내 고객은 웹 사이트는 안드로이드 응용 프로그램에서만 열 수 있습니다.

에이전트 헤더 웹 서버가 요청할 때 응답 할 수 있다고 생각합니다. 하지만 임시 변통에 불과합니다.

그래서 어떤 방법으로 웹 사이트가 승인 된 응용 프로그램이 아닌 브라우저에서 열렸는지 확인할 수 있습니까?

웹 서버용 스프링 부트를 사용했습니다.

답변

0

이것은 불가능합니다. 엔드 포인트를 공개하면 프로토콜을 지원하는 모든 소프트웨어 (또는 프로토콜을 리버스 엔지니어링하는 분석기)를 사용하여 항상 엔드 포인트에 연결을 시도 할 수 있습니다.

이것은 말하기를, 당신은 난독 화로 어려워 질 수 있다고합니다.

하나의 해결책은 클라이언트가 제공 한 정보 (귀하의 경우 브라우저)입니다. 이것은 대개 에이전트 헤더이며 (언급 한 것처럼) 일부 지문도 될 수 있습니다. 예를 들어 화면의 크기를 감지하여 거기에서 결정을 내릴 수 있습니다.

또 다른 해결책은 비밀 (더 나은 "비밀"이라고 함)을 사용하여 특정 코드가 호출하는 백엔드 응용 프로그램 (또는 API)을 표시하는 것입니다. 응용 프로그램 소유자가 키와 함께 HTML/JS/CSS 코드를 묶어서 응용 프로그램 소유자 만 인식 할 수있는 트래픽을 보낼 수 있다고 상상할 수 있습니다.

이 모든 것은 다소 어렵지 만 일부 레이어에서는 앱이 아닌 다른 방법을 통해 사이트에 액세스하려는 인구가 적어도 제거됩니다.

+0

항상 userAgent 검색을 사용해 볼 수 있습니다. 수용 가능한 사용자 에이전트 목록에없는 경우 리디렉션합니다. 하지만 이것은 정통한 사용자가 사용자 에이전트를 원하는대로 설정할 수 있으므로 매우 효과적인 옵션은 아닙니다. –