2012-08-05 3 views
1

"동적으로 바뀌는 이름을 사용하는 Facebook로드 javascript 파일은 이전에 JavaScript 파일을 캐싱하지 못해이 공격을 수행 할 수 없습니다."임의의 (변경되는) 스크립트 이름이있는 JavaScript로드 중

이 공격 경로에 대한 자세한 정보를 확인할 수 있습니다 here.

변경된 이름으로 JS 파일을로드하면 타사에서 가로 챌 JS 파일을 예측할 수 없으므로 캐시 중독의 위험이 완화됩니다.

페이지로드시 JS 파일의 이름을 동적으로 변경하는 방법을 알고 있거나 관련 정보에 링크 할 수 있다면 고맙겠습니다. 이 지식은 모든 사람에게 가치가 있습니다.

+0

그것은, 단순한 캐시 무효화 코드, 안 그래를? 개별 시간 소인을 파일 URL에 추가하십시오. – Bergi

답변

1
  1. 각 사용자마다 고유 한 스크립트 키를 생성하십시오. (사용자 테이블에 키를 저장하거나 키순 해시를 사용하십시오)

  2. <script> 태그를 변경하면 키와 스크립트 이름이 포함 된 특수 서버 측 처리기가 참조됩니다. (당신이 URL을 예쁘게 만들기 위해 라우팅 엔진을 사용할 수 있습니다.

  3. 를 서버 측 코드에서 키가 일치하는지 확인 현재 로그인 한 사용자.
    키가 존재하지 않거나 일치하지 않는 경우, 돌려 (404) (및 보안 검토에 대한 요청 로그)

이 CDN 서비스 또는 정적 콘텐츠 도메인과 잘 재생되지 않습니다.

관련 문제