Ir para conteúdo
Fórum Script Brasil
  • 0

Criar Proxy no Delphi 7


Guest Programando

Pergunta

Guest Programando

Olá pessoal, estou tentando criar um proxy para Windows,, assim como o Squid, onde você digita uma palavra no navegador, por exemplo "orkut" ou "messenger", e seja bloqueado o acesso, mostrando uma mensagem qualquer. Teria como fazer isso em delphi 7?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Código .PAS

unit fPrincipal;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, ShellAPI, comobj;

const
    palavrasBloqueia: string = 'MSN,meebo,terra';

type
  TfrmPrincipal = class(TForm)
    Timer1: TTimer;
    listPagSol: TListBox;
    Label4: TLabel;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  frmPrincipal: TfrmPrincipal;

implementation

{$R *.dfm}

function BloqueiaURL(url: string): boolean;
var
    ret: boolean;
    x: integer;
    strTemp: string;
begin
//Faz a comparação da url com as palavras q são proibidas
ret:=False;
strTemp:='';
for x:=1 to Length(palavrasBloqueia) do
    begin
    if ((palavrasBloqueia[x] = ',') or (x = Length(palavrasBloqueia))) then
        begin
        strTemp:=Trim(strTemp);
        if Pos(strTemp,url) > 0 then
            begin
            ret:=True;
            Break;
            end
        else
            strTemp:='';
        end
    else
        strTemp:=strTemp + palavrasBloqueia[x];
    end;
BloqueiaURL:=ret;
end;

function GetUrlFromIE(Handle: THandle; List: TStringList): boolean; stdcall;
var
    hWndIE, hWndIEChild : HWND;
    Buffer : array[0..255] of Char;
begin
SendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0]));
hWndIE:=FindWindow('IEFrame', Buffer);
if hWndIE > 0 then
    begin
    hWndIEChild:=FindWindowEx(hWndIE, 0, 'WorkerW', nil);
    if hWndIEChild > 0 then
        begin
        hWndIEChild:=FindWindowEx(hWndIEChild, 0, 'ReBarWindow32', nil);
        if hWndIEChild > 0 then
            begin
            hWndIEChild:=FindWindowEx(hWndIEChild, 0, 'ComboBoxEx32', nil);
            if hWndIEChild > 0 then
                begin
                //Pega a URL e trabalha com o valor
                SendMessage(hWndIEChild, WM_GETTEXT, 255, integer(@Buffer));
                if List.IndexOf(Buffer) < 0 then
                    List.Add(Buffer);
                if BloqueiaURL(LowerCase(Buffer)) then
                    begin
                    //Fecha a janela
                    PostMessage(hWndIE,WM_CLOSE,0,0);
                    //Abre nova janela
                    ShellExecute(hWndIE, nil, PChar('http://www.plic-plac.com'), nil, nil, SW_SHOWNORMAL);
                    end;
                end;
            end;
        end;
    end;
Result:=True;
end;

procedure TfrmPrincipal.Timer1Timer(Sender: TObject);
begin
//Será executado a cada 5 segundos
EnumWindows(@GetUrlFromIE, LParam(listPagSol.Items));
end;

end.

No exemplo coloquei três palavras apenas MSN,meebo,terra, caso alguma delas seja digita ele bloqueia e abre nova janela com outra página. Lembrando que funciona somente para o IE.

Para fazer o download clique aqui !

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Programando

Muito bom o aplicativo, funciona mesmo, agora sem querer ser muito abusado, tem como eu deixá-lo rodando tipo, oculto, para não correr o risco de ser finalizado por um usuário do micro, através do gerenciador de tarefas?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...