Delphi 7에서 백그라운드 서비스를 작성하여 특정 URL이 모든 브라우저에서로드되지 않도록하고 싶습니다. 이것이 가능한가?URL Delphi 서비스 사용 중지
누구나 방향을 알려줄 수 있습니까?
미리 감사드립니다.
셰인
Delphi 7에서 백그라운드 서비스를 작성하여 특정 URL이 모든 브라우저에서로드되지 않도록하고 싶습니다. 이것이 가능한가?URL Delphi 서비스 사용 중지
누구나 방향을 알려줄 수 있습니까?
미리 감사드립니다.
셰인
서비스는 아니지만 그렇다고 생각하지 않습니다. 그러나 '호스트'파일을 편집하여 URL 도메인이 127.0.0.1을 가리 키도록 할 수 있습니다. 이 파일을 보호하는 서비스를 만들 수는 있지만 서비스 자체에는 편집 권한이 있어야합니다. 물론 사용자가 권한을 가지고있는 경우 서비스 자체도 종료 될 수 있습니다.
파일을 편집 할 경우 브라우저는 도메인 이름으로 서버를 찾을 수 없습니다. 물론 IP 주소가있는 URL은이 방법으로 차단할 수 없으며 전체 URL 만 차단하여 특정 URL을 차단할 수도 없습니다.
일반적으로 이것은 맞춤 서비스를 사용하여 해결할 수있는 것이 아니라 PC 또는 라우터의 방화벽에서 해결할 항목입니다.
은 두 번째는 기술적으로 가장 적합한의 두 가지 방법이 있습니다
DLL을 쓰기 당신 inject into all processes 이러한 프로세스는 가로, 예를 들어, 모든 트래픽을 필터링 할 수있는 브라우저를위한 경우
내가 인터넷 필터링 소프트웨어에서 근무했습니다 (운영 체제에 낮은 수준에서) 방화벽처럼 조금 작동하는 Layered service provider 쓰기 나는 모두 입니다 당신에게 말할 수있는 Windows 소켓을
를 사용하여 큰 약속. 처음에는 처음 접근 방식을 취한 다음 기술적으로 더 뛰어 났기 때문에 다른 방식으로 전환했습니다. [회사가 접혀서 그 전환을 결코 끝내지 못했습니다 .--]
우리는 우리 자신의 LSP를 작성하지 않았지만 (그 자체로 큰 직업입니다), Komodia의 제품을 사용했습니다.
앞서 언급했듯이 이것은 32 비트 및 64 비트 코드, http와 https를 처리해야하며 서비스가 중지되는 것을 보호해야합니다. 당신이 찾을 수있는 프로그래밍 솔루션이 더 좋다. (우회하기 쉽지만)
프로그래밍을 원할 경우 : LSP를 사용하여 1 인 년 코딩을 준비하십시오.
Internet Explorer의 경우 IE 자체가로드되어 브라우저 이벤트를 전달하는 Browser Helper Object을 작성할 수 있습니다. BHO는 필요에 따라 요청별로 URL을 승인/거부 할 수 있습니다.
'hosts' 파일을 편집하여이를 수행 할 수 있습니다. 이를 수행하는 방법은 [this] (http://www.jafaloo.com/2013/01/03/windows-hosts-file/)를 참조하십시오. Windows 서비스를 작성할 필요가 없습니다. – Adam
'hosts' 파일이 적절한 해결책이 아니라면 HTTP 트래픽을 필터링하는 C/C++ 드라이버를 프로그래밍 할 수 있습니다. 그러나 이것은 사소한 작업이 아닙니다. 제 친구는 Windows 디바이스 드라이버 프로그래머이며 이런 종류의 프로젝트는 약 10,000 줄의 코드를 시작하며 C/C++로만 작성 될 수 있다고 말했습니다. –
@ 아담, 내가 말한 [Golez 대답] (http : // stackoverflow.com/a/15414851/255257), hosts 파일 편집은 브라우저가 프록시를 사용하지 않는 경우에만 작동합니다. 프록시가 사용되면, 당신이 제안하는 것은 쓸모가 없습니다. – jachguate