소프트웨어 Mozilla가 Chrome에 경고합니다. Firefox '100' 사용자 에이전트가 사이트를...
2022.02.18 02:01
Mozilla가 Chrome에 경고합니다. Firefox '100' 사용자 에이전트가 사이트를 손상시킬 수 있습니다.
Mozilla는 웹 사이트 개발자에게 앞으로 출시될 Firefox 100 및 Chrome 100 버전이 세 자리 버전 번호를 포함하는 사용자 에이전트 문자열을 구문 분석할 때 웹 사이트를 손상시킬 수 있다고 경고하고 있습니다.
사용자 에이전트는 브라우저 이름, 버전 번호 및 사용하는 다양한 기술과 같은 소프트웨어에 대한 정보를 포함하는 웹 브라우저에서 사용하는 문자열입니다.
사용자가 웹 사이트를 방문할 때 브라우저의 사용자 에이전트가 웹 페이지 요청과 함께 전송됩니다. 이를 통해 웹 페이지는 방문자의 브라우저 버전을 확인하고 브라우저가 지원하는 기능에 따라 응답을 수정할 수 있습니다.
예를 들어 Mozilla Firefox 버전 97의 현재 사용자 에이전트는 다음과 같습니다:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
참고로 Firefox 'privacy.resistFingerprinting' 설정을 'True'로 설정하면 사용자 에이전트가 'Firefox/78.0'으로 잠깁니다.
현재 버전의 Google Chrome 98에서 사용자 에이전트는 다음과 같습니다:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36
Mozilla는 버전 100 사용자-에이전트 문자열을 경고합니다.
2021년 8월, Mozilla는 세 자리 수인 'Firefox/100' 사용자 에이전트 문자열이 웹 사이트에 문제를 일으키는지 확인하기 위한 실험을 시작했습니다. 구글은 곧 크롬 100에 대한 그들만의 실험을 따랐습니다.
두 실험 모두에서 Mozilla와 Google은 세 자리 버전 번호가 포함된 사용자 에이전트 문자열을 구문 분석할 때 올바르게 작동하지 않는 소수의 웹 사이트를 발견했습니다.
그 이후로 모질라는 버전 100 변경으로 인한 웹 버그를 추적해 왔으며 HBO Go, Bethsda, Yahoo, Slack 및 Duda 웹 사이트 빌더가 만든 웹 사이트에서 문제를 발견했습니다.
대부분의 경우 이러한 문제는 브라우저가 지원되지 않는다는 웹 사이트에서 사이트의 일부에 영향을 미치는 사용자 인터페이스 문제에 이르기까지 다양합니다.
"단일 사양을 따르지 않으면 브라우저마다 사용자-에이전트 문자열 및 사이트별 사용자-에이전트 구문 분석 형식이 다릅니다. 일부 구문 분석 라이브러리에서 세 자리 수의 주 버전 번호를 고려하지 않은 하드 코딩된 가정이나 버그가 있을 수 있습니다."라고 Mozilla는 다가오는 사용자-에이전트 변경에 대한 새로운 블로그 게시물에서 설명합니다.
브라우저가 두 자릿수 버전 번호로 이동했을 때 많은 라이브러리가 구문 분석 논리를 개선했기 때문에 세 자릿수 마일스톤을 누르면 문제가 줄어들 것으로 예상됩니다.
Mozilla와 Google은 브라우저가 Chrome의 경우 3월 29일, Firefox의 경우 5월 3일에 출시될 때까지 버전 100 사용자 에이전트에 대한 실험을 계속 실행할 예정입니다.
이러한 버전이 출시되기 전에 Mozilla 또는 Google이 수정할 수 없는 사이트에 문제가 있는 경우 Google과 Mozilla는 사이트에 영향을 미치지 않도록 백업 계획을 준비합니다.
Firefox의 경우 Mozilla에는 Firefox/99에서 사용자 에이전트를 고정하거나 CSS 또는 기타 재정의를 주입하여 버그를 수정하는 사이트 개입 메커니즘이 있습니다.
마찬가지로 Chrome은 문제가 있는 사이트에 대해서는 user-agent 문자열에 표시된 버전을 99로 고정하고 user-agent 문자열의 다른 부분에 실제 버전을 보고할 계획입니다.
웹 사이트 개발자 및 관리자의 경우, Mozilla는 Firefox 100 및 Chrome 100 사용자 에이전트로 변경하면 웹 사이트가 손상되는지 테스트하도록 요청합니다.
이 작업은 다음 단계를 수행하여 수행할 수 있습니다:
주 버전을 100으로 보고하도록 Firefox Nightly를 구성합니다
- Firefox Nightly의 Settings 메뉴를 엽니다.
- "Firefox 100"을 검색한 후 "Firefox 100 User-Agent String" 옵션을 선택합니다.
이 옵션을 선택하면 Firefox 사용자-에이전트 문자열이 다음으로 변경됩니다:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0
주 버전을 100으로 보고하도록 Chrome을 구성합니다
- chrome://flags/#force-major-version to 100으로 이동합니다.
- 옵션을 'Enabled'로 설정합니다.
이 옵션을 선택하면 Chrome 사용자-에이전트 문자열이 다음으로 변경됩니다:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4758.102 Safari/537.36
문제가 발견되면, Mozilla는 문제를 해결할 충분한 시간을 가지도록 개발자에게 webcompat.com에 보고서를 제출하도록 요청합니다.