• [html] iframe을 사용하지 말아야 할 이유. (단점)
    프로그래밍/Web(CSS + HTML + JS + PHP ) 2019. 5. 10. 15:14
    728x90

    이유 1. 보안 위험을 유발함

    iframe을 사용하여 구성 요소를 구현하면 사이트 간 공격(XSS)에 취약해집니다.

    • 사용자의 개인 데이터를 피싱하여 제출할 수있는 악의적 인 웹 양식을 얻을 수 있습니다.
    • 악의적인 사용자가 플러그인을 실행할 수 있습니다.
    • 악의적인 사용자가 원본 사이트 URL을 변경할 수 있습니다.
    • 악의적인 사용자가 사용자의 클릭을 도용 할 수 있습니다.
    • 악의적인 사용자가 사용자의 키 입력을 가로챌 수 있습니다.

    이유 2. 사용성 문제를 일으킴

    iframe 태그는 사용성 문제를 자주 일으킵니다.

    • 브라우저의 "뒤로가기"버튼을 간헐적으로 작동되지 않게 합니다.
    • 새로운 브라우저 창에서 갑자기 iframe으로 다른 콘텐츠를 로드하여 사용자를 혼란스럽게 만듭니다.
    • iframe 내의 콘텐츠를 연산한 후 frame에서 보여주므로, 해상도에 따라서 이상하게 보입니다.
    • iframe의 src태그의 URL이 변경되면 iframe 내의 콘텐츠가 누락될 수 있습니다.

    이유 3. 웹 크롤링 지연

    Google은 iframe 생성을 자제하는 것을 권장합니다.

    구글 웹 마스터 포럼에 따르면, iframe이 웹 크롤링에 문제를 끼칠 수 있음 이라고 이미 서술하고 있습니다.

    Google Web Crowler는 가능한 한도 내에서 프레임과 iframe을 지원합니다.
    프레임은 웹의 개념 모델과 일치하지 않기 때문에 검색 엔진에 문제를 일으킬 수 있습니다.
    이 모델에서는 한 페이지에 하나의 URL 만 표시됩니다.
    iframe을 사용하는 페이지는 단일 페이지 내의 여러 URL (각 프레임 당 하나씩)을 표시합니다.
    Google은 iframe이 포함 되어있는 콘텐츠를 프레임이 포함 된 페이지와 연결하려고 시도하지만, 이를 보장하지는 않습니다.

     

    결론

    결론적으로는 iframe은 여러 보안 문제를 일으킬 수 있으며, 개별적으로 작동하고, iframe내에서 따로 연산된 후 보여지므로 필연적으로 사이트의 overhead를 유발 할 수 있습니다.

     

    90년대 ~ 2000년대 초반에 개인 블로그에 흔히 사용하다 지금은 사용되지 않는 태그인 frame중 유일하게 남아 있는 iframe태그 또한 이젠 놓아주는 것이 반응형 웹 디자인을 위한 걸음인 것 같습니다.


    728x90

    댓글

Copyright ⓒ syudal.tistory.com