마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹뷰 보안에 대해서 질분 드립니다.

0 추천
안녕하세요 초보 개발자 치비 입니다.

저가 이번에 간단한 안드로이드-톰캣-jsp-오라클 를 연동 하여 웹뷰 어플리케이션을 하나 만들었습니다.

웹뷰로 로그인.jsp 페이지를 들어가서 간단하게 글을 쓰고 지우는 어플리 케이션 입니다.

제작후 알아본게 구글 또는 크롬에서 url 패턴으로(아이피:포트번호:폴더이름:jsp) 이렇게 해서 접속으로 하니

굳이 어플리케이션 실행을 하지 않더라고 뷰페이지가 보여서 접속이 되더군요...

보안적으로 허술한것 같아서 이걸 해결 하고 싶은데 구글이나 크롬에서 url 경로를 통해 접속이 안되게끔 하는 방법이

없을까 싶어서 말씀드립니다. 현재 로그인페이지 다음으로 아이디와 비밀번호가 맞지 않으면 다른 페이지로 빠지도록

명령어를 넣어 놨습니다만 어찌됬든 url로 접근 자체를 막아버리고 싶은데 방법이 없는지 궁금하군요.

방향만 제시해주셔도 대단히 감사 드리겠습니다 긴글읽어주셔서 대단히 감사합니다.
치비 (180 포인트) 님이 2015년 5월 29일 질문

2개의 답변

0 추천
웹앱형태를 띠신다면 굳이  url 접근을 막필요가 있으신지가 우선 의문이 들어요. 웹앱자체는 일일이 사용자가  url  넣어서 접근하는 번거러움을 풀어준다는 것에서도 하나의 매리트긴 하니까요. 머 여기까진 여담이구요.

치비님의 의도 대로 하고자 한다면 완전한 방법은 아니지만 방법이 아예 없지는 않지요.

보통  웹의 동작 방식을 차분히 보신다면 아시게 되는데  항상 접근한 페이지가 다음 페이지로의 링크를 가진다는 특성이 있습니다.

이특성을 잘 활용하신다면 되지 않을까요.

예를 들어서 로그인을 처리 하는 단계의 웹페이지에서 다음 페이지로 넘어가는 부분이 없다면 어떨까요?

그리고 그정보는 앱에서만 가진다면요.

그리고 또하나는 웹뷰를 만드시면서 보시면 아시겠지만 클라이언트를 나타내는 부분들이 있습니다.

agent .... 시작되는 프로퍼티들 이지요.

이걸 보고 웹서브들도 클라이언트가 어떤 브라우저로 접근하는지 파악합니다.

아무튼 이부분을 앱 고유값을 설정하시고 그 고유값을 가지는 클라이언트만 정상 처리가 되게 해준다면 될 듯합니다.

여기다   json, rest  등의 방식이 혼용된다면 좀더 의도하신 해결책이 되지 않을까 합니다.

아무튼 완전한 답은 아니고 약간의 힌트 정도입니다.
컴러기 (22,230 포인트) 님이 2015년 5월 29일 답변
0 추천
저 답변한 컴러기인지 쓰레기인지 기러기인지 하는 사람이 장황하게 설명했는데,

전문가인 나도 뭔소린지 모르겠군요. 용어도 전부 틀리고. 계속 열심히 답변들에 글쓰고 다니는데,

도리어 잘못되고 장황한 정보를 줄 바엔 실력 쌓일 때까지 빠져있는게 좋지 않나 싶군요.

 

서버사이드에서,

UserAgent로 판별하는 방법이 가장 대중적이고(또한 완전하다고만 볼수 없고),

Referer 값을 판단하는 방법있습니다.
익명사용자 님이 2015년 5월 30일 답변
비판 감사합니다.
하지만 인신 공격성인 첫 문구의 욕설에 가까운단어는 거부하겠습니다.
그리고 잘못된 정보라고 하셨는데 어디가 잘못된 것인지 정확하게 지적해주십시오.
글을 쓴 저도 잘못알고 있는 부분이 있는 것을 인정합니다.
제가 agent 라고 표시한부분 잘못된 것 맞습니다.
정확하게는 지적하신대로
User Agenter
이고 실제 해드에 포함될때는
User-Agent: MyWebBroswer/0.5
처럼 들어갑니다.

하지만 이런식에 잘못됫다고 말하고 어디가 잘못됐는지 정확하지 않게 하시면 이 글을 보는 다른분들도 혼돈이 올것이라 생각됩니다.
...