웹 프론트엔드 JS 튜토리얼 http 하이재킹된 플로팅 광고를 처리하는 방법

http 하이재킹된 플로팅 광고를 처리하는 방법

Apr 19, 2018 am 11:04 AM
http 공중 납치 뜨다

이번에는 http 하이재킹floating광고 처리 방법과 http 하이재킹 및 플로팅 광고 처리 시 주의사항은 무엇인지 알려드리겠습니다. 실제 사례를 살펴보겠습니다.

최근에 웹사이트 오른쪽 하단에 플로팅 광고가 자주 나타나는 걸 발견했어요. 처음에는 그냥 브라우저 광고인 줄 알았어요.

나중에 점점 더 많은 동료들이 집에 있는 다른 브라우저에 광고가 나타날 것이라고 보고했습니다. 그러다가 자세히 확인한 결과 웹사이트가 하이재킹된 것을 발견했습니다.

그러다가 바이두에서 http 하이재킹, dns 하이재킹, 운영자 하이재킹 등 수많은 정보를 검색해 보니 제가 속았다는 확신이 들었습니다.

정말 절제해서 광고 코드가 삽입되었습니다. 얼마나 비양심적인 사업가인지 그는 무엇이든 할 수 있다.

그러나 가장 중요한 해결책은 무엇입니까? 그런 다음 문제는 운영 및 유지 관리 동료에게 던져졌습니다.

결론은 해결책이 없다는 것입니다. 예, 정말 사기입니다. https를 사용하지 않는 한. 전화를 걸고 온라인으로 불만 사항을 보내는 것은 아무 소용이 없는 것 같습니다. 어쩌면 운영 및 유지 관리가 너무 나쁠 수도 있습니다. 어쨌든 결과는 아무것도 아니다.

그러면 우리가 할 수 있는 일은 아무것도 없었습니다. 우리는 그것을 막는 방법을 프론트엔드에서만 찾을 수 있습니다. 그런 다음 하이재킹 코드를 연구하는 여정을 시작했습니다.

...이 프로세스에서는 800 단어 검색 프로세스가 생략되었습니다.

마지막으로 하이재킹된 광고는 하이재킹된 광고에 대한 일부 정보를 저장하는 js 전역 변수 _pushshowjs_를 정의한 다음 _embed_v3_dc ID로 p를 생성하여 광고를 넣는 것으로 나타났습니다. 그리고 매번 똑같을 것이고 변화는 없을 것입니다.

하이재킹된 광고의 전달 원리에 따라, js를 이용하여 하이재킹된 광고를 차단하는 방법이 최종적으로 사용되었습니다.

구체적인 코드는 다음과 같습니다:

;(function($,window,undefined){
 var needClear=false,
  timeout;
 if(window._pushshowjs_){
  console.log("adHttp");
  needClear=true;
 }
 window._pushshowjs_={};
 Object.freeze(window._pushshowjs_);//让对象只读, 防止属性被直接修改
 Object.defineProperty(window, '_pushshowjs_', {
  configurable: false,//防止属性被重新定义
  writable: false//防止属性被重新赋值
 });
 if(needClear){
  timeout=setInterval(function(){
   if($("#_embed_v3_dc").length>0){
    $("#_embed_v3_dc").remove();
    console.log("http清除");
    needClear=false;
    clearInterval(timeout);
   }
  },500);
  $(window).load(function(){
   if(needClear){
    setTimeout(function(){
     clearInterval(timeout);
     console.log("清除");
    },2000);
   }
  });
 }
}(jQuery,window));
로그인 후 복사

코드가 많지 않아 자세히 분석하지는 않겠습니다. (코드에 문제가 있다고 생각하시면 정정해주세요.) 간단히 말해서 광고 하이재킹에 필요한 전역 js 변수 _pushshowjs_를 수정 불가능하고 읽기 전용으로 설정합니다. 광고를 발견하면 삭제하세요.

코드를 공개하고 결국 하이재킹된 광고에 88을 말했어요.

왜 어리석은 방법이라고 말합니까?

왜냐하면 이것은 자기기만에 불과하기 때문입니다. 실제로 하이재킹이 여전히 존재하며, 하이재킹된 js의 로딩 순서가 변경되어 오류가 발생할 수 있습니다. 이상적인 해결책은 이를 해결하기 위해 운영 및 유지 관리와 운영자에 의존하거나 https를 사용하는 것입니다.

각 하이잭의 광고 논리는 유사해야 하지만 광고 코드는 다릅니다. 따라서 이는 다른 하이재킹 광고에는 적용되지 않을 수 있습니다. 이것은 단지 아이디어일 뿐이며 모든 솔루션 중 하나일 뿐입니다.

누군가 더 나은 해결책을 갖고 있다면 조언을 부탁드립니다.

위의 js를 사용하여 http로 하이재킹된 플로팅 광고를 차단하는 방법은 편집자가 공유한 내용이 모두 참고가 되셨으면 좋겠습니다. Yiju Tutorial Network를 지원해 주시길 바랍니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

Vue 범위 슬롯 사용에 대한 자세한 설명

JS를 통해 데이터 유효성 검사 및 체크박스 양식 제출 구현

JS를 통해 캐러셀 이미지를 쉽게 구현


위 내용은 http 하이재킹된 플로팅 광고를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

http 상태 코드 520은 무엇을 의미합니까? http 상태 코드 520은 무엇을 의미합니까? Oct 13, 2023 pm 03:11 PM

HTTP 상태 코드 520은 서버가 요청을 처리하는 동안 알 수 없는 오류가 발생하여 더 구체적인 정보를 제공할 수 없음을 의미합니다. 서버가 요청을 처리하는 동안 알 수 없는 오류가 발생했음을 나타내는 데 사용됩니다. 이는 서버 구성 문제, 네트워크 문제 또는 기타 알 수 없는 이유로 인해 발생할 수 있습니다. 이는 일반적으로 서버 구성 문제, 네트워크 문제, 서버 과부하 또는 코딩 오류로 인해 발생합니다. 상태 코드 520 오류가 발생하면 웹사이트 관리자나 기술 지원팀에 문의하여 자세한 정보와 지원을 받는 것이 가장 좋습니다.

http 상태 코드 403이란 무엇입니까? http 상태 코드 403이란 무엇입니까? Oct 07, 2023 pm 02:04 PM

HTTP 상태 코드 403은 서버가 클라이언트의 요청을 거부했음을 의미합니다. http 상태 코드 403에 대한 해결 방법은 다음과 같습니다. 1. 서버에 인증이 필요한 경우 올바른 자격 증명이 제공되었는지 확인합니다. 2. 서버가 IP 주소를 제한한 경우 클라이언트의 IP 주소가 제한되어 있거나 블랙리스트에 없습니다. 3. 파일 권한 설정을 확인하십시오. 403 상태 코드가 파일 또는 디렉토리의 권한 설정과 관련되어 있으면 클라이언트가 해당 파일 또는 디렉토리에 액세스할 수 있는 권한이 있는지 확인하십시오. 등.

Nginx 프록시 관리자를 사용하여 HTTP에서 HTTPS로 자동 점프를 구현하는 방법 Nginx 프록시 관리자를 사용하여 HTTP에서 HTTPS로 자동 점프를 구현하는 방법 Sep 26, 2023 am 11:19 AM

NginxProxyManager를 사용하여 HTTP에서 HTTPS로의 자동 점프를 구현하는 방법 인터넷이 발전하면서 점점 더 많은 웹사이트가 HTTPS 프로토콜을 사용하여 데이터 전송을 암호화하여 데이터 보안과 사용자 개인 정보 보호를 향상시키기 시작했습니다. HTTPS 프로토콜에는 SSL 인증서 지원이 필요하므로 HTTPS 프로토콜 배포 시 특정 기술 지원이 필요합니다. Nginx는 강력하고 일반적으로 사용되는 HTTP 서버 및 역방향 프록시 서버이며 NginxProxy

HTML, CSS 및 jQuery: 플로팅 효과가 있는 버튼 만들기 HTML, CSS 및 jQuery: 플로팅 효과가 있는 버튼 만들기 Oct 24, 2023 pm 12:09 PM

HTML, CSS 및 jQuery: 플로팅 효과가 있는 버튼을 만들려면 특정 코드 예제가 필요합니다. 소개: 요즘 웹 디자인은 HTML, CSS 및 JavaScript와 같은 기술을 사용하여 다양한 측면을 추가할 수 있습니다. 페이지에 이러한 특수 효과 및 대화형 효과가 있습니다. 이 기사에서는 HTML, CSS 및 jQuery를 사용하여 플로팅 효과가 있는 버튼을 만드는 방법을 간략하게 소개하고 구체적인 코드 예제를 제공합니다. 1. HTML 구조 먼저, 우리는

웹 페이지 리디렉션의 일반적인 애플리케이션 시나리오를 이해하고 HTTP 301 상태 코드를 이해합니다. 웹 페이지 리디렉션의 일반적인 애플리케이션 시나리오를 이해하고 HTTP 301 상태 코드를 이해합니다. Feb 18, 2024 pm 08:41 PM

HTTP 301 상태 코드의 의미 이해: 웹 페이지 리디렉션의 일반적인 응용 시나리오 인터넷의 급속한 발전으로 인해 사람들은 웹 페이지 상호 작용에 대한 요구 사항이 점점 더 높아지고 있습니다. 웹 디자인 분야에서 웹 페이지 리디렉션은 HTTP 301 상태 코드를 통해 구현되는 일반적이고 중요한 기술입니다. 이 기사에서는 HTTP 301 상태 코드의 의미와 웹 페이지 리디렉션의 일반적인 응용 프로그램 시나리오를 살펴봅니다. HTTP301 상태 코드는 영구 리디렉션(PermanentRedirect)을 나타냅니다. 서버가 클라이언트의 정보를 받을 때

빠른 적용: 여러 파일의 PHP 비동기 HTTP 다운로드에 대한 실제 개발 사례 분석 빠른 적용: 여러 파일의 PHP 비동기 HTTP 다운로드에 대한 실제 개발 사례 분석 Sep 12, 2023 pm 01:15 PM

빠른 적용: PHP의 실제 개발 사례 분석 여러 파일의 비동기 HTTP 다운로드 인터넷의 발전으로 파일 다운로드 기능은 많은 웹 사이트와 응용 프로그램의 기본 요구 사항 중 하나가 되었습니다. 여러 파일을 동시에 다운로드해야 하는 시나리오의 경우 기존 동기 다운로드 방법은 비효율적이고 시간이 많이 걸리는 경우가 많습니다. 이러한 이유로 PHP를 사용하여 HTTP를 통해 여러 파일을 비동기적으로 다운로드하는 것이 점점 더 일반적인 솔루션이 되었습니다. 본 글에서는 실제 개발 사례를 통해 PHP 비동기 HTTP를 활용하는 방법을 자세히 분석해 보겠습니다.

http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청 보내기 http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청 보내기 Jul 25, 2023 pm 10:51 PM

http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청을 보낼 수 있습니다. Go 언어의 http 패키지에서는 http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청을 보낼 수 있습니다. http.PostForm 함수의 프로토타입은 다음과 같습니다: funcPostForm(urlstring,dataurl.Values)(resp*http.Response,errerror)where, u

http 요청 415 오류 해결 방법 http 요청 415 오류 해결 방법 Nov 14, 2023 am 10:49 AM

해결 방법: 1. 요청 헤더에서 Content-Type을 확인합니다. 2. 요청 본문에서 데이터 형식을 확인합니다. 3. 적절한 인코딩 형식을 사용합니다. 4. 적절한 요청 방법을 사용합니다. 5. 서버측 지원을 확인합니다.

See all articles