(슥보) alert() 가 사라진다?

sunwoo0706·2021년 8월 24일
43

슥보

목록 보기
1/1
post-thumbnail

최근에 Google 팀이 cross-origin iframe 에서 alert(), confirm(), prompt() 를 자사의 브라우저 Chrome의 기능에서 제외하도록 계획하고 있다고 발표한 것을 보았습니다.

이유

제외한다고 하는 이유는 다음과 같습니다.

UX
현재 크롬은 iframe이 위에서 말했던 대화상자 api를 트리거 할 수 있습니다.

크롬은 iframe 이 웹의 상단 프레임이 동일한 origin 을 가지고 있으면 "{URL} 블라블라~" 와 같이 보여주고 iframecross-origin 일 경우 "이 페이지의 내장된 페이지는 블라블라~" 와 같이 보여줍니다.

이 점은 유저에게 썩 좋은 경험이 되지 못한다고 하네요. (저도 이 점은 동의합니다.)

보안
우선 대화상자는 상자입니다. 형태가 있다는 뜻이죠. 근데 브라우저 별로 대화상자의 디자인이 달라 자칫 브라우저의 자체 UI 로 보일 수 있습니다.

이로 인해 사이트에서 특정메세지가 크롬에서 온 것처럼 가장하는 spoofing 이 발생한다고 하네요. (특히 window.prompt())

크롬은 메시지 앞에 "{hostname} 블라블라~" 를 입력하여 이러한 spoofing을 완화합니다. 그러나 이러한 경고가 cross-origin iframe 에서 발생할 경우 크롬은 대화 상자가 브라우저 자체 또는 최상위 페이지에서 전송되지 않는다고 설명하려고 하기 때문에 UI가 더욱 혼란스러워집니다.

반응

위와 같은 이유외에도 작동 경로가 느리다 등등 여러 이유를 내세웠지만 대부분의 개발자들은 이를 달가워 하지 않는것 같습니다.

  • simon willson : 아니 X 3!! 웹개발의 가장 좋은 점 중 하나는 일반적으로 브라우저가 코드를 건드리지 않는다는 겁니다. 모든 웹사이트와 응용 프로그램을 관리하는 개발자 팀을 갖는것은 웹스럽지 않습니다.
  • evan you : 이 발언은 웹 플랫폼의 청지기로서의 Google에 대한 나의 신뢰를 깎아내립니다. 우리가 언제 "웹을 깨뜨리지 말 것"에서 "네, 웹을 자주 깨뜨릴 것이므로 이에 대비해야 합니다"로 바뀌었습니까?

대부분 반대하는 분위기입니다. svelte 를 창시한 리치 해리스도 이와 관련된 글을 적은 블로그의 댓글에서 토론중입니다.

저의 생각

아마 대부분의 개발자가 반대하는 이유는 제가 생각하기로는 다음과 같습니다.

우선 alert() 같은 대화상자 api는 개발을 할때도 테스트용으로 많이 사용하여서 반대하는 경우도 있겠지만, 구글이라는 한 회사가 웹 이라는 한곳에 치중되어서는 안되는 플랫폼을 건드리는 행보를 보였기에 좋게 보는것 같지 않습니다.

현재 구글은 웹에 대해 너무나도 많은 권력을 소유하고 있습니다. 누군가가 모두를 위해 막대한 부를 포기하고 내놓은 물건을 독점하는것은 문제가 있다고 생각합니다.

10개의 댓글

comment-user-thumbnail
2021년 8월 25일

좋은 정보 감사합니다

1개의 답글
comment-user-thumbnail
2021년 8월 27일

재밌게 잘 읽고 갑니다.

1개의 답글
comment-user-thumbnail
2021년 8월 27일

좋은 글 잘 읽었습니다!

1개의 답글
comment-user-thumbnail
2021년 8월 29일

와... 진짜 너무 자기네 마음대로 나갈려고 하네요. 구글 이놈들

1개의 답글
comment-user-thumbnail
2021년 9월 3일

좋은 정보 감사합니다. 평소에 alert()으로 전부 작업했는데... 다 바꿔야겠네요ㅠ
혹시, alert()을 대체할 만한 명령어 아시면, 추천 부탁드립니다.

1개의 답글