본문 바로가기
컴퓨터/오토핫키

특정 사이트 접속 차단하기가 안되어서 웹브라우저 꺼버리기.

by 큐브빌드 2025. 3. 29.
반응형

맞벌이 부부로 지내다 보니 초등학생 아이는 하교 후 집에서 컴퓨터로 특정 사이트에 접속하여 게임을 하거나, 영상을 긴 시간 보고 있어서 문제가 되어 어떻게 해결할지 찾아봤습니다.

 

해결 방법으로 특정 사이트 차단하기

인터넷에서 다양한 차단 방법을 검색해 보니 여러 가지 해결책이 있었습니다.

  1. 브라우저 확장 프로그램을 이용한 차단 (예: StayFocusd, BlockSite 등)
  2. 공유기 설정을 통해 특정 사이트 접속 제한하기
  3. Windows 호스트 파일을 수정하여 사이트 접속 차단

브라우저의 경우 Edge , Chrome 2개 모두 사용 가능했으며, 어떻게 구글 검색을 통해서 아이는 여전히 접속하였습니다.

 

공유기를 통해서 URL 접속을 차단 방법을 발견하였으나 문제는 우리 집 공유기는 지원하지 않는... 문제가 있었고요.

 

윈도 호스트 파일 수정은 아무리 해봐도 저는 안되고...

 

그래서 결국 제가 생각해 낸 방법은 오토핫키로 어떻게 만들어 보려고 했습니다.

 

도대체 어떻게 만들면 좋을까 규칙을 생각했을 때 Edge가 되었건 Chrome이 되었건 

 

 

윈도 타이틀 이름으로 특정 사이트 접속 유무를 체크하면 되겠다!!

그렇게 하여 시작된 윈도 타이틀을 이용한 해당 창 닫기!!

 

아래는 해당 코드입니다.

 

#Persistent
SetTimer, CloseBlockedSites, 5000  ; 5초마다 체크
Return

CloseBlockedSites() {
    blockedSites := ["윈도우 타이틀 이름", "윈도우 타이틀 이름"] ; 차단할 사이트 목록
    
    WinGet, idList, List
    Loop, %idList% {
        this_id := idList%A_Index%
        WinGetTitle, title, ahk_id %this_id%
        
        for index, site in blockedSites {
            if (InStr(title, site)) {
                WinClose, ahk_id %this_id%
            }
        }
    }
}

물론 해당 코드에 한계는 있습니다.

 

예를 들면 해당 윈도 타이틀이 선택되지 않은 상태라면 꺼지지 않거나, 윈도우 타이틀 이름을 변경해버린다거나... 

 

물론 윈도우 타이틀 때문에 윈도가 닫히는 걸 알려주면 안 되겠죠?

 

코드를 조금 수정하면 컴퓨터를 꺼지게 한다거나, 텔레그램 봇을 연동하여 부모 핸드폰으로 연락 오게 한다거나 등등 많은 것을 할 수 있을 것 같네요.

 

이렇게까지 해야되나 싶지만... 밀려만 가는 숙제를 보면.... 뭐 그렇다고 숙제를 하지는 않네요.....

반응형

댓글