AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Indy HTTPProxyServer nur bestimmte IP-Adresse zulassen
Thema durchsuchen
Ansicht
Themen-Optionen

Indy HTTPProxyServer nur bestimmte IP-Adresse zulassen

Ein Thema von kuba · begonnen am 5. Sep 2015 · letzter Beitrag vom 7. Sep 2015
 
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#1

Indy HTTPProxyServer nur bestimmte IP-Adresse zulassen

  Alt 5. Sep 2015, 01:24
Hallo,

ich hab mir mal die Indy HTTPProxyServer Komponente angesehen. Die funktioniert wunderbar und ich kann damit alle Webseiten erreichen, sogar Videos funktionieren ruckelfrei. Aus dem Internet habe ich ein Codebeispiel zur Filterung einer bestimmten IP-Adresse. Leider ist der Code nicht ganz vollständig, die Frage wie die Filterung funktioniert bleibt offen...

Mit dem Proxy würde ich gern alle Webseiten sperren und nur eine IP-Adresse zulassen, am besten wenn alle anderen Webseiten umgeleitet werden. Vielleicht kann mir jemand ein Tip geben. Im Anhang habe ich mal das Beispiel ohne Exe-Datei.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdContext, IdBaseComponent, IdComponent,
  IdCustomTCPServer, IdTCPServer, IdCmdTCPServer, IdHTTPProxyServer,
  IdTCPConnection, IdTCPClient, Vcl.StdCtrls, IdMappedPortTCP;

type
  TForm1 = class(TForm)
    IdHTTPProxyServer1: TIdHTTPProxyServer;
    Memo1: TMemo;
    IdMappedPortTCP1: TIdMappedPortTCP;
    procedure IdHTTPProxyServer1BeforeCommandHandler(ASender: TIdCmdTCPServer;
      var AData: string; AContext: TIdContext);
    procedure IdHTTPProxyServer1Connect(AContext: TIdContext);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure IdMappedPortTCP1OutboundConnect(AContext: TIdContext);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  PeerIP, OtherIP : String;


implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
begin
  //if IdHTTPProxyServer1.Active then
  //IdHTTPProxyServer1.Active := False
   //else
    //IdHTTPProxyServer1.Active := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if IdMappedPortTCP1.Active then
   IdMappedPortTCP1.Active := False
   else
    IDMappedPortTCP1.Active := True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  IdHTTPProxyServer1.Active := True;
end;

procedure TForm1.IdHTTPProxyServer1BeforeCommandHandler(
  ASender: TIdCmdTCPServer; var AData: string; AContext: TIdContext);
begin
  Memo1.Lines.Add(PeerIP + ' ' + AData);
end;

procedure TForm1.IdHTTPProxyServer1Connect(AContext: TIdContext);
begin
  PeerIP := AContext.Connection.Socket.Binding.PeerIP;
end;

procedure TForm1.IdMappedPortTCP1OutboundConnect(AContext: TIdContext);
begin
  PeerIP := AContext.Connection.Socket.Binding.PeerIP;
end;


end.
KUBA
Angehängte Dateien
Dateityp: zip proxy.zip (1,7 KB, 11x aufgerufen)
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz