[html] iframe을 사용하지 말아야 할 이유. (단점)
카테고리: PHP
이유 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태그 또한 이젠 놓아주는 것이 반응형 웹 디자인을 위한 걸음인 것 같습니다.