바이두는 -js 배치 코드 푸시 푸시 버전을 제출 링크

1 원 바이 코드 JS 링크를 밀어

먼저 우리는이 같은 JS 링크 코드를 밀어 원래 바이 보면 *

바이두는 -js 배치 코드 푸시 푸시 버전을 제출 링크

바이 고유 단어 : 전체 다중 터미널 플랫폼 PC 스테이션과 이동국을 서빙하는 최소 타겟 링크 푸시 웹 페이지 JS 코드를 사용할 수있다. 모든 플랫폼 (브라우저, 마이크로 채널, 마이크로 블로그)에로드 된 코드 페이지를 설치 페이지 링크하여 속도가 새로운 콘텐츠 사이트를 발견 증가 바이 푸시 처음 것이다.

사용자가 방문하는 웹 페이지는이 스크립트는, 바이두에서의 1x1 지프를 다운로드 할 때 동안이 순간에 페이지의 기록 URL 주소.

이 개 분석을 자동으로 밀려 스크립트

이 스크립트를 통해, 우리는 볼 수 있습니다 : 

 도 1을 참조하면, 먼저 현재의 HTTPS 프로토콜 유형 또는 (예를 들면, 등, HTTP, FTP)의 다른 종류를 결정

 2, 다음의 js 파일의 바이 공식을 다운로드 

 JS 파일 (3) 다음의 내용은 현재 페이지에 스크립트 블록을 생성 

 4. 마지막으로, 우리는 짧은 라인의 내용을 볼 수 모두의 js 파일이 스크립트 블록 액세스를 실행합니다. 이 같은 GIF를 읽을 것입니다. https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif 또는 http://api.share.baidu.com/s.gif 바이 푸시 다른 정보 window.location.href있다.

당신 s.gif (가) 요청 쿼리 문자열 매개 변수 (A)의 두 개의 매개 변수가 있다는 것을 발견 할 것이다 열기 : r에 A : 난

분석 연구 : 모두 리퍼러 소스 난 : URL을 푸시하는 것입니다

3 바이두는 배치 코드를 밀어

위의 분석을 통해 추측 대담한 것은 우리가 우리의 사용자 정의 페이지 URL 주소 s.gif이 밀어 수 없다는 것입니다

<스크립트 유형 = "텍스트 / 자바 스크립트">
 var에 목록 = document.getElementsByTagName ( "A" );
VAR N = "HTTP // api.share.baidu.com / s.gif" ;
VAR의 NS = "https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif" ; 
VAR R = window.location.href;
VAR의 URL = [];
VAR curProtocol window.location.protocol.split = ( '') [0 ];
경우 (curProtocol === "HTTPS" ) {
 위해은 ( VAR은 I = 0; I <크고 List.length; ++ I) {
    url.push (NS + '? = L'+ 에 encodeURIComponent (리스트 [I] .href));
}
} 그밖에는 {
 위해 ( VAR I = 0; I <크고 List.length; ++ i)는 {
    url.push (N '? = R'+ + + R '및 L ='+ 에 encodeURIComponent (리스트 [I] .href));
}
}
위한 ( VAR I = 0; I <크고 List.length; ++ I) {
     var에 t =는 새로운 이미지;
    t.src URL = [Math.round (인 Math.random () * 은 List.length)];
}; 
</ script>

푸시 원리, 원래 푸시이 페이지를 추진하고있다 누군가의 방문 페이지가 (이 우리가 모든 것을 알아야) 코드. 누군가 방문 페이지가이 페이지에있는 모든 URL을 밀어 때 배치 버전, HTTPS 지원이 추가되었습니다

원본 출처 : http://www.newbii.cn/20191211091111.htm

추천

출처www.cnblogs.com/svip7/p/12129704.html