2013-03-14 3 views
1

Delphi 7에서 백그라운드 서비스를 작성하여 특정 URL이 모든 브라우저에서로드되지 않도록하고 싶습니다. 이것이 가능한가?URL Delphi 서비스 사용 중지

누구나 방향을 알려줄 수 있습니까?

미리 감사드립니다.

셰인

+1

'hosts' 파일을 편집하여이를 수행 할 수 있습니다. 이를 수행하는 방법은 [this] (http://www.jafaloo.com/2013/01/03/windows-hosts-file/)를 참조하십시오. Windows 서비스를 작성할 필요가 없습니다. – Adam

+0

'hosts' 파일이 적절한 해결책이 아니라면 HTTP 트래픽을 필터링하는 C/C++ 드라이버를 프로그래밍 할 수 있습니다. 그러나 이것은 사소한 작업이 아닙니다. 제 친구는 Windows 디바이스 드라이버 프로그래머이며 이런 종류의 프로젝트는 약 10,000 줄의 코드를 시작하며 C/C++로만 작성 될 수 있다고 말했습니다. –

+0

@ 아담, 내가 말한 [Golez 대답] (http : // stackoverflow.com/a/15414851/255257), hosts 파일 편집은 브라우저가 프록시를 사용하지 않는 경우에만 작동합니다. 프록시가 사용되면, 당신이 제안하는 것은 쓸모가 없습니다. – jachguate

답변

1

서비스는 아니지만 그렇다고 생각하지 않습니다. 그러나 '호스트'파일을 편집하여 URL 도메인이 127.0.0.1을 가리 키도록 할 수 있습니다. 이 파일을 보호하는 서비스를 만들 수는 있지만 서비스 자체에는 편집 권한이 있어야합니다. 물론 사용자가 권한을 가지고있는 경우 서비스 자체도 종료 될 수 있습니다.

파일을 편집 할 경우 브라우저는 도메인 이름으로 서버를 찾을 수 없습니다. 물론 IP 주소가있는 URL은이 방법으로 차단할 수 없으며 전체 URL 만 차단하여 특정 URL을 차단할 수도 없습니다.

일반적으로 이것은 맞춤 서비스를 사용하여 해결할 수있는 것이 아니라 PC 또는 라우터의 방화벽에서 해결할 항목입니다.

+3

호스트 파일 트릭은 브라우저가 사이트에 직접 연결되면 작동하지만 프록시가 사용되는 경우에는 작동하지 않습니다. – jachguate

+0

@jachguate 고마워, 네가 맞다고 생각해. :) – GolezTrol

3

은 두 번째는 기술적으로 가장 적합한의 두 가지 방법이 있습니다

  • DLL을 쓰기 당신 inject into all processes 이러한 프로세스는 가로, 예를 들어, 모든 트래픽을 필터링 할 수있는 브라우저를위한 경우

내가 인터넷 필터링 소프트웨어에서 근무했습니다 (운영 체제에 낮은 수준에서) 방화벽처럼 조금 작동하는 Layered service provider 쓰기 나는 모두 입니다 당신에게 말할 수있는 Windows 소켓을

  • 를 사용하여 큰 약속. 처음에는 처음 접근 방식을 취한 다음 기술적으로 더 뛰어 났기 때문에 다른 방식으로 전환했습니다. [회사가 접혀서 그 전환을 결코 끝내지 못했습니다 .--]

    우리는 우리 자신의 LSP를 작성하지 않았지만 (그 자체로 큰 직업입니다), Komodia의 제품을 사용했습니다.

    앞서 언급했듯이 이것은 32 비트 및 64 비트 코드, http와 https를 처리해야하며 서비스가 중지되는 것을 보호해야합니다. 당신이 찾을 수있는 프로그래밍 솔루션이 더 좋다. (우회하기 쉽지만)

    프로그래밍을 원할 경우 : LSP를 사용하여 1 인 년 코딩을 준비하십시오.

  • 0

    Internet Explorer의 경우 IE 자체가로드되어 브라우저 이벤트를 전달하는 Browser Helper Object을 작성할 수 있습니다. BHO는 필요에 따라 요청별로 URL을 승인/거부 할 수 있습니다.

    +0

    질문은 특히 모든 브라우저에 대한 질문이었습니다. – MikeD

    +0

    @MikeD : 블랙리스트를 구현하는 외부 프록시를 만들거나 사용하지 않는 한, 모든 브라우저를 포괄적으로 설명하는 단일 대답은 없습니다. 각 브라우저는 자체적으로 자체 HTTP 엔진을 구현하기 때문에 프록시를 통과하도록 각 브라우저를 다시 구성하거나 외부 프록시가 아닌 경우 브라우저 별 IE (예 : IE 용 BHO)를 개별적으로 작성해야합니다 옵션. –

    +0

    아주 좋았지 만 상자 밖에서 생각할 때, 일주일에 끝낼 수 있다고 생각합니다. – Shane