php로 특정 단어를 차단하는 유해사이트 차단 페이지를 만들고 있는데
조회수 791회
안녕하세요. 제가 만드는 홈페이지 내에 유해사이트 차단 페이지를 만드려고 합니다. 현재 파싱은 스누피 클래스를 활용하려고 하는데,
/스누피 시작/ $snoopy = new snoopy;
/파싱/ $url = "http://www.naver.com"; $snoopy->fetch($url);
위와 같이 웹페이지를 읽어오고, 정규표현식을 사용하여 특정 문자열이 있으면 웹사이트 차단을 알리는 페이지를 불러오게 하려고 합니다.
근데 이와 같은 방법을 사용하면 url로 읽어들인 페이지만(위 코드의 경우 네이버 메인 페이지) 검사가 될 것 같은데 불러온 사이트에서 다른 페이지로 넘어갈 때에도(기사 링크나 다른 페이지로 전환될 때) 특정 문자열을 검사할 수 있는 방법은 없을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
억지를 부려야 하지요.
1. 사이트를 파싱한 다음에 쭉 읽어보면서 차단할 단어가 있는지 보잖아요? 그 단계에서, 사이트 내 존재하는 모든
a
태그의href
속성을 이런 식으로 고쳐줍니다.$new_href = '/parse_and_block?url='.urlencode($href);
2. 작업 중인 소스가
/parse_and_block
라우트를 지원하도록 합니다. 해당 라우트는 GET 변수 중url
에 해당하는 값을 불러와urldecode()
한 다음, 그 주소에 대해 CURL을 실행해 내용을 파싱하고, 위의 1단계를 되풀이합니다.
댓글 입력