250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- time()
- gitignore
- 데벨챌
- Level1
- Iterator
- 데이터넥스트레벨챌린지
- 함수성능평가
- AI 5기
- vscode
- WIL
- googleappscript
- iterable
- 그로스해킹
- googlesheet
- A태그
- 함수실행시간
- 프로그래머스
- 내일배움캠프
- 우선순위
- cte
- Display
- git #github #내일배움캠프
- venv
- with\
- itertools
- python
- position
- 알고리즘
- 가상환경
- 데이터리안
Archives
- Today
- Total
05의 개발 계발
복사 방지 페이지 복사하기 - Disable JavaScript 본문
728x90
알아두면 쓸모있는 호기심
간혹 복사기능을 막아둔 웹페이지가 있다.
그럴 땐 위 처럼 Disable JavaScript 를 체크하면 일시적으로 복사가 되는 것은 우리는 익히 안다.
그럼 왜? 이것이 가능한 것일까?
궁금하면 검색해봐야지!
그렇다. 사실 이미 예상했듯이, 복사 방지 기능이 JS(JavaScript) 로 구현되어있기 때문이다.
아래는 일반적으로 사용하는 복사방지 JS 코드이다.
//contextmenu 이벤트 비활성화:
document.addEventListener('contextmenu', function(event) {
event.preventDefault();
});
//copy 이벤트 방지
document.addEventListener('copy', function(event) {
event.preventDefault();
});
//텍스트 선택 방지
document.addEventListener('selectstart', function(event) {
event.preventDefault();
});
간단히 말하자면 복사방지 기능자체가 JS로 구현이 되어 있기에, JS를 비활성화 시키는 Disable JavaScript 옵션을 이용하면 복사가 가능하게 되는 것이다.
<결론>
Disable JavaScript 옵션은 JS를 비활성화 시킨다.
그래서 복사방지기능을 먹통시켜 복사가 가능하다!
하지만 JS로 구현된 다른 모든 기능들도 먹통된다는 점 유의!
+α
JS를 통해 동적으로 컨텐츠가 생성되는 동적페이지의 경우, JS를 비활성화 할 시 페이지에 컨텐츠가 나타나지 않는다.
이를 이용하면 웹크롤링에 있어 어떤 방법을 사용할지에 대한 판단 기준으로 사용할 수 있다.
- JS비활성화해도 컨텐츠가 보인다 = (정적페이지) → requests + BeautifulSoup
- JS비활성화하면 컨텐츠가 안 보인다 = (동적페이지) → Selenium
728x90
'알아두면 쓸모있는 호기심' 카테고리의 다른 글
[알쓸호] 터미널에 m² 표시하기 (1) | 2023.04.28 |
---|---|
[알쓸호] 주석이 성능에 미치는 영향 (2) | 2023.03.23 |