인형 대사: 무두 크롬 도금 사용
대합실에서
명령줄에서headless 모드를 실행할 수 있습니다.bash 단말기의
--headless
명령에 $google-chrome
표시를 추가합니다.google-chrome --headless
너는 아무 일도 일어나지 않았다는 것을 알아차릴 것이다.Chrome의 사용자 인터페이스가 없고 명령을 입력할 터미널이 하나밖에 없습니다.dump dom 명령은 입력한 URL에 dom 전체 텍스트를 표시합니다.google-chrome --headless --dump-dom https://example.com
니가 해봐.예를 들어 간단한 페이지라도.com에는 상당히 긴 DOM이 있기 때문에 저는 this link에 텍스트를 넣어서 글의 편폭을 늘리지 않도록 했습니다.터미널에 표시된 텍스트가 링크의 텍스트와 비슷하면 예시에 성공적으로 접근했음을 나타냅니다.com은 무두 모드에 있습니다.꼭두각시 배우와 대결하다
헤더 없이 탐색할 때 터미널 창에만 국한되지 않습니다.일부 API에서는 JavaScript 코드에 액세스할 수 있습니다.본고는 코드에서 대부분의 브라우저 작업을 수행할 수 있는 노드 라이브러리인 Puppeter를 중점적으로 소개합니다.Puppeter를 실행하려면 버전 노드가 필요합니다.노드 v14를 사용합니다.15.4. 프로젝트에 Puppeter를 설치하려면 터미널에서
npm i puppeteer
를 입력합니다.부모 디렉터리에 node_modules
폴더와 package-lock.json
폴더를 추가해야 합니다.Puppeter는 필요한 모든 의존항을 묶었기 때문에 json 파일은 약 400행장입니다. 다른 터미널 명령을 실행할 염려가 없습니다.npm i puppeteer
JavaScript 파일을 만들고 인형 프로그램 코드를 작성하기 시작합니다.URL을 입력하여 웹 사이트의 화면 캡처를 만들 수 있습니다.우선 node require
명령을 사용하여 puppeter를 변수에 분배합니다.그리고 비동기 기능을 사용하여 Pupper를 시작하고 헤드 없는 브라우저를 열고 필요한 사이트를 탐색하고 화면 캡처를 촬영한다.마지막으로 브라우저를 닫습니다.이 예에서는 Puppeter를 위해 구글 개발자 페이지를 캡처했습니다.const ventriloquist = require('puppeteer');
(async() => {
const startUp = await ventriloquist.launch();
const virtualBrowser = await startUp.newPage({headless: true});
await virtualBrowser.goto('https://developers.google.com/web/tools/puppeteer');
await virtualBrowser.screenshot({path: 'puppetmaster.png'});
await virtualBrowser.close();
})();
위의 코드를 JavaScript 파일puppet.js
에 입력하고 node puppet.js
로 파일을 실행할 수 있습니다.실행 후 부모 디렉터리에 puppetmaster.png
라는 새 파일이 있습니다.구글이 개발자의 페이지 레이아웃이나 인형 유저 페이지의 내용을 바꿀 때까지 이렇게 보인다.테스트
개발자는 Puppeter를 사용하여 설계의 앞면을 테스트하고 끝에서 끝까지 테스트합니다.무두 모드는 비싼 레이아웃 렌더링 없이 브라우저의 모든 기능을 실현할 수 있기 때문에 효율적인 테스트를 설정하기에 매우 적합하다.Puppeter를 사용하면 4배 빠른 클라이언트 대신 프런트엔드 서버를 테스트할 수 있습니다.인형사 테스트에 대한 세부 사항은 본고의 범위를 넘어섰지만 Akshay Kadam은Sitepoint에 인형사와 실의 끝에서 끝까지의 테스트에 관한 글을 썼다tutorial.
네트워크 인덱싱 소프트웨어
현재의 웹 페이지는 대부분 자바스크립트나 JSX로 작성되었고 HTML 페이지는 내용을 추가하거나 반응하는 데 사용되는 공백 화보 역할을 한다.이것은 웹 인덱스에 문제를 가져왔다.만약 검색엔진이 한 사이트에 대한 데이터를 수집하려고 한다면, 더 이상 HTML 페이지만 읽을 수 없다.헤더 없는 브라우저로 웹 사이트를 캡처하는 것은 HTML 파일의 내용뿐만 아니라 모든 DOM 정보를 얻는 좋은 방법이다.에릭 바이드먼(Eric Bidelman)이 상세히 소개here한다.
악용
Puppeter가 네트워크 인덱스에서 이렇게 유용하게 사용할 수 있는 동일한 기능을 해커의 잠재적인 도구로 만든다.헤더 없이 사이트에 직접 액세스하여 XSS 제한을 우회할 수 있습니다.스크립트 공격이 반드시 일어날 수는 없지만 인터넷 파충류를 쉽게 만들 수 있어 사이트의 빈틈을 대규모로 스캔할 수 있다.서버에서 헤더 없는 크롬을 차단하는 것은 일반적인 방법이 아니다.합법적인 개발자에게 404 오류를 걱정하지 않고 그 특성을 사용할 수 있다는 뜻이다.Read more Imperva에서 온 David Bekerman.
요약
Reference
이 문제에 관하여(인형 대사: 무두 크롬 도금 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/michaelpaulkunz/master-of-puppets-the-power-of-headless-chrome-8ee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)