HTML에서 이상한 "data-preloaded" 요소

서브도메인 리매핑 문제를 해결하던 중이었는데, 이 게시글 덕분에 해결되었습니다(감사합니다!).

하지만 잘못된 링크를 찾는 과정에서 내 페이지 중 하나의 HTML에 숨겨져 있는 매우 특이한 기능을 발견했습니다:

소스 코드를 보면 "data-preloaded"라는 이름의 “hidden” 태그 안에 크고 이상해 보이는 코드 블록이 있습니다. 여러 다른 것들에 대한 링크처럼 보이지만, 솔직히 말하면 링크 스푸핑(link stuffing)이나 그런 이상한 것 같습니다. 두 가지 질문이 있습니다:

  1. 이 블록의 목적은 무엇인가요?
  2. 민감한 정보가 여기에 들어갈 수 있는 등 우려할 만한 이유가 있나요?

자동차의 엔진룸을 들여다볼 때와 비슷하게, 꽤 복잡하고 때로는 지저분한 것을 보게 되지만, 그것이 반드시 고장 나거나 악의적인 것은 아닙니다. 그래도 궁금합니다.

감사합니다!

이 데이터 블록에는 Discourse JS 앱의 “부팅 후(after-boot)” 정보가 포함되어 있습니다. 토픽 페이지를 강제 새로고침하면, 서버에 다시 요청하지 않고 토픽을 렌더링하는 데 필요한 정보가 이 블록에 담겨 있습니다.

소스를 보기로 확인하거나 강제 새로고침을 할 경우, 모든 Discourse 페이지에서 이 블록이 표시됩니다. 다만, 클릭을 통해 페이지를 이동하는 경우에는 이 블록이 사용되지 않고 데이터가 서버에서 동적으로 가져옵니다.

모든 페이지가 실제로 프리로드 블록을 지원하지는 않으므로, 해당 페이지에서는 내용이 비어 있으며 페이지의 실제 데이터를 가져오기 위해 두 번째 요청이 필요합니다. 중요한 페이지들은 이를 지원합니다.

로그인된 상태에서 개인화된 내용은 맞지만, 이미 접근 권한이 없는 민감한 정보는 포함되어 있지 않아야 합니다.