URL이 없는 사이트

accessibility | 2008-12-01

URL(Uniform Resource Locator)은 웹상에있는 구성요소들의 위치를 나타내는 값이다. 이미지나 웹페이지와 같은 웹을 구성하는 요소는 하나의 독립적인 주소를 가지고 있고 우리는 웹을 사용하면서 계속해서 이 주소를 참조한다.

하지만 우리나라의 많은 사이트에서는 이런 URL을 부정하고 보안이라는 명목하에 웹을 웹이 아니게 만드는 경우를 많이 볼 수 있다. 웹사이트의 첫 페이지를 빈프레임으로 만들어서 URL이 나오지 않게 하거나, 게시판에서 모든 링크를 자바스크립트로 처리하여 값을 POST로 값을 보내는 방법들이 모두 이러한 예이다. 오늘 살펴본 한국환경기술진흥원은 심지어 페이지 이동까지 모두 자바스크립트로 처리를 하여 페이지 URL이 http://www.kiest.org/index.jsp 하나밖에 없다.

이렇게 주소를 감추는 것이 정말 보안을 향상 시킬까? 주소를 노출시키는 것이 보안에 취약하다는 말은 주소에 나와있는 변수와 값을 이용해서 해커가 해킹을 시도할 수 있다는 생각에서 나왔다. 가능한 이야기이고 실제 일어나기도 하지만 이러한 공격을 주소를 감춘다고 막을 수는 없기 때문에 근본적으로 따지자면 이것은 URL 노출의 문제가 아니다.

조금만 둘러보면 정말로 많은 사이트들이 주소를 사용자가 확인할 수 있게 한다는 것을 볼 수 있다. 구글, 네이버, 다음 등 검색사이트에 있어서 URL은 사용자에게 매우 중요한 정보이다. 이 사이트들이 주소를 보이게 했다고 보안이 약한 사이트라고는 아무도 생각하지 않을 것이다.

오히려 이런 잘못된 보안 인식으로 인해서 URL 만 감추면 보안이 된 것으로 착각하고 심각한 보안 구멍이 생기는 방식으로 많은 개발자들이 프로그램을 설계, 제작하고 있다. 처리과정 중간을 자바스크립트로 폼을 서밋하여 값을 넘기는 방식으로 구현하는 것은 프로그램 중간 단계를 외부로 노출시켜서 보안 취약점을 만드는 개발 방식이다.

감춰진 URL은 사용자 경험과 접근성도 떨어뜨린다. 브라우저는 사용자가 이 주소를 사용할 수 있게 많은 기능을 제공하고 있다. 주소를 감춘사이트는 이러한 브라우저의 기능을 사용할 수 없게 하여 사용자의 경험을 떨어뜨리게 된다. HTML을 정해진대로 사용하지 않기 때문에 접근성도 떨어지게 된다.

링크와 URL은 웹의 근간이다. 서로 다른 웹페이지는 다른 URL을 가지고 있다. URL이 없으면 페이지는 독립적으로 존재할 수 없다. 최소한의 기본은 지켜서 이상한 웹사이트가 더이상 나오지 않았으면 좋겠다.

Comments

  • kingori 2008-12-01

    아우, 정말 구구절절히 동감하게 됩니다. 필요한 자료 있어 링크라도 걸라치면 소스뒤져가면서 url 찾아야 하고, 그나마 POST 방식이면 참 깝깝해요. 왜 이러는 지 모르겠어요. 제가 경험한 사례들에서는 보안은 관심도 없고, 단지 "주소창이 왜이리 지저분하죠? 그냥 사이트 주소만 나오게 해 주세요." 이런 요구들이었어요. 무식이 용감!

  • k 2008-12-01

    저도 지금까지 여러 프로젝트 하면서 url을 숨기는 것을 보안의 최우선인 마냥 하는 곳을 보면서 답답함을 느낍니다. 이런곳은 필요한 페이지가 있어도 번거롭게 해당 url을 찾아내서 즐겨찾기를 해야할 뿐더러, 얘기하자면 한도 끝도 없이 답답하군요. 특히 내부테스트시에 기획자가 버그가 발생한 페이지를 개발자에게 알려주기도 어렵죠. 물론 개발자도 그 페이지 찾아들어가려면 귀찮고.

  • 편집장 2008-12-01

    이렇게 개발된 사이트들 과연 검색엔진은 쉽게 찾아들어갈 수 있을가요? ^^; 사이트 잘 만들어 두고 왜 방문자를 막는지 이해가 안되네요. ㅎㅎ

  • 세레 2008-12-01

    링크하려면 프레임에서 꺼내 진짜 주소를 찾아야 하니까, 파이어폭스나 크롬에서 제공하는 프레임 새 탭 열기 기능을 어쩔 수 없이 사용하게 되더라고요. 보안에도 별 효과 없으면서 접근성만 떨어뜨리는 방식은 피해야 된다는 점에 공감해요.

  • 신승식 2008-12-02

    왜 우리 나라에만 이런 현상이 많은지 모르겠어요. URL도, 페이지 제목도 모두 똑같으니, 개발자와 기획자, 운영자, 고객 사이에 커뮤니케이션할 방법이 없더군요. 어디 가서, 무슨 메뉴 누르고, 무슨 배너 선택한 곳에서 페이지 아래쪽에 어떤 부분이 잘못 되었다~ 이런 식으로 장황하게 안내하고, 소통해야 하니 원~

  • 쏭군 2008-12-03

    유독 우리나라엔 퍼머링크의 중요성을 인지하지 못한느 개발자분들이 많으신 것 같습니다. 소개하신 사이트는, 정말 말도 안되는 짓을 해놨군요... 울화통이 ㅠ..ㅠ

  • melt-snow 2008-12-03

    이것도 클릭한 부분의 점선 테두리가 지저분하다고 this.blur() 로 편법을 쓴 게 유행처럼 번진 것과 비슷하다고 봅니다. 이런 사례의 정해진 유형이 몇 가지 있는데요. 본문에서 얘기하신 것처럼 한때 빈 프레임 속에 사이트를 가두고 첫 페이지 URL만 표시하도록 제작을 많이 했더군요. 저 사이트는 아직도 과거의 잘못된 습관을 비판 없이 수용한 제작자(차마 개발자라고는..)가 그냥 따라한 거겠죠. 이런 게 잘못되었다는 것을 적극적으로 알려야 합니다. 특정 사이트의 URL과 html의 잘못된 부분 사례, 그리고 어떻게 고쳐야 바르다하는 것을 정리할 필요를 느낍니다.

  • 이영란 2008-12-29

    말이 안나올따름입니다. . 암담하군요. 순리, 원리 그 자체로 두면 좋을것을....

  • 이광우 2010-04-07

    참 오래 된 이슈인데도, 이상하게 안되는 부분입니다. 가끔 이런 '소소한' 부분이 보일 때 마다 안타깝기만 합니다.

  • ㅎㄹㄹ 2013-03-29

    지금 저쪽자리앉아있는개발자가 한 소리 "URL감추는게 보안의시작이잖아......" 아닌거 같은데 ~~~ 딱히근거가안떠올라서 검색하다왔내요 잘보고가요

Post a comment

:

: 공개 되지 않습니다. Gravatar를 표시 합니다.

:

: HTML 태그를 사용할 수 없습니다.