Google JSON 응답의 앞에 추가된 코드 이해
Google은 자주 "while(1);"이라는 머리말을 추가합니다. 개인 JSON 응답의 시작 부분에. 이러한 관행은 그 목적에 대한 의문을 제기했습니다.
JSON 하이재킹 방지
이 코드가 앞에 추가되는 주된 이유는 JSON 하이재킹을 방지하기 위한 것입니다. JSON 하이재킹은 다음과 같은 보안 취약점입니다. 외부 스크립트를 사용하여 JSON 응답에 악성 스크립트를 포함시켜 공격자가 중요한 데이터에 액세스할 수 있도록 허용합니다. Google은 "while(1);"을 앞에 추가하여 코드가 무한 루프에 들어갈 때 스크립트가 자동으로 실행되는 것을 방지합니다.
기술 세부정보
JSON 하이재킹이 실행됩니다. 브라우저를 통해 웹사이트가 "배열" 및 "함수" 전역 객체 메서드의 동작을 동적으로 변경할 수 있다는 사실을 활용합니다. 따라서 공격자는 개체의 특정 응답 속성을 설정하고 임의의 코드를 실행할 수 있습니다.
대체 구문
Google은 "while(1);" 외에도 변형을 사용합니다. 다양한 서비스:
이러한 변형은 JSON 하이재킹을 방지하고 안전한 JSON 구문 분석을 촉진하는 동일한 목적을 제공합니다.
브라우저 호환성
JSON 하이재킹은 2011년부터 ECMAScript 5의 동일 출처 정책을 통해 모든 주요 브라우저에서 해결되었습니다. 이는 서로 다른 출처의 스크립트가 데이터에 액세스하는 것을 제한합니다. 그러나 앞에 추가된 코드는 이전 브라우저나 비호환 웹사이트의 잠재적인 취약점에 대한 추가 보호 계층을 제공합니다.
위 내용은 Google이 JSON 응답에 \"while(1);\"을 추가하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!