Entwickler-Ecke

Sonstiges (Delphi) - Internet Explorer URL als auch Dokument überprüfen


alexschultze - Do 02.01.03 01:25
Titel: Internet Explorer URL als auch Dokument überprüfen
hiho,

ich hatte mal die Idee meinen kleinen Freunden ein kleines Tool zu schreiben, was sie vor böööösen Webseiten fern hält (ihr wisst was ich meine... :twisted: )

Desshalb ein kleiner Internet Explorer Überwacher. Ich habe es soweit gebracht, das ich die URL des aktuellen Dokument einsehen könnte:


http://www.swissdelphicenter.ch/de/showcode.php?id=198


schön und gut, aber das ist nie im Leben sicher. Wie kann ich das Dokument (möglichst als puren Text) erhalten? (Frames umgehen?)


Delete - Do 02.01.03 09:50

Mit einem kleinen Proxy-Server á "WebWasher", der sich auf den üblichen Ports einhängt, das Dokument quasi über sich leitet und alle gefährlichen Sachen ausfiltert.

Bevor du fragst: Nein! Ich habe das noch nie gemacht und kann dir deshalb auch leider keinen Beispielcode geben. Es ist nur eine theoretische Erläuterung des Prinzips.


matze - Do 02.01.03 11:57

du könntest ja mal den quellcode der HTML seite parsen und bei den den gefundenen hyperlinks nach sowas wie den einschlägigen begriffen ausschau halten !


alexschultze - Do 02.01.03 13:47

parsen?


Wolff68 - Do 02.01.03 17:31

Also ich würde einfach den Quelltext der Seite in ein Memo laden.
Hab ich mal mit der THttpCli Komponente von FPiette (ics) gemacht.
Geht vielleicht auch mit anderen HTTP-Client Kompos:

(Versuch mal die wichtigen Befehle aus meinem alten Prog zusammenzubekommen:)

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
try
  Data := TMemoryStream.Create;
  Memo1.Clear;
  Data.Clear;
  httpclient.URL := 'http://www.WoAuchImmer.de';
  httpclient.RcvdStream := Data;
  httpclient.Get;
  LoadMemoFromMemoryStream(Memo1, Data);
finally
  Data.Free;
end;


Danach hast den HTML-Quelltext im Memo und kannst ihn auf den Kopf stellen.

Problematisch wird das aber bei Frameseiten oder ähnlichem.
Denn Du wirst nur die Frameseite bekommen, ohne Angaben was auf den sichtbaren Seiten eigentlich steht. Bringt dann also nicht unbedingt viel...


matze - Fr 03.01.03 20:19

also mit parsen mein ich: den Quelltext auserinander pflücken !!


alexschultze - Fr 03.01.03 20:37

geht das nicht rein theoretisch nochmal extra auf die Traffic, da die Seite nochmal runtergeladen wird? Oder wird der Cache benutzt?


matze - Fr 03.01.03 20:46

neine, also du müsstest dann die HTML seite runterladen und in die strtingliste reinladen, die gepartst wird.

schau dir einfach mal die kompo an: http://www.jazarsoft.com/vcl/view.php3?id=9


alexschultze - Do 30.01.03 11:22

Okay, das ist eine Möglichkeit. Aber was ist z.B. wenn der User in einen bestimmten Service (sei es nur ein Mail Account) einloggt?

Da bringt der html parser, der das ganze nochmal runterlädt recht wenig. Hat der Internet Explorer nicht einen Cache? Bzw. kann man die aktuell im IE befindliche Seite direkt als Quelltext bekommen?

Das wäre gut.
Geht das? Wäre wichtig. Hab jetzt den Auftrag nen Lan Protect für unser Schulnetzwerk zu schreiben. :)


alexschultze - Do 30.01.03 15:52

also, hier meine Frage, diesmal neu definiert:

Kann man den Inhalt des aktuellen Dokuments, so wie es Internet Explorer angezeigt wird, DIREKT bekommen, notfalls als RAW oder String oder Stringlist....