Benutzer mit den meisten Antworten
AxWebBrowser Seiten sperren

Frage
-
Hallo,
ich habe eine Frage bezüglich des AxWebBrowsers. Ich habe einen vollständigen Webbrowser mit Ribbon-Style etc. für meine Website gecodet. Nun stehe ich vor einem Problem: Ich will (möglichst mit einer einfach zu verwaltenden Liste) einige hundert Internetseiten sperren lassen und auf eine sichere Seite meines Servers umleiten. (von wegen Basisschutz mit Phishing und co.)
Ich habe bereits versucht mit Like und Compare die e.URL mit einem String vergleichen zu lassen und je nach Ergebnis Aktionen auszuführen. So ist es mir durchaus möglich, Seiten zu sperren, aber wenn die Zahl steigt, wird dies unflexibel und unhandlich. Hat jemand eine Idee, wie ich das "Listenmäßig" regeln könnte? Mir käme da durchaus txt Dateien oder XML in den Sinn, aber genaue Pläne habe ich damit nicht. Vielleicht hat ja jemand ein Codebeispiel, daran lernt man auch am besten ;-)
Einige snippets, was ich bis jetzt probiert habe:
Private Sub AxWebBrowser1_BeforeNavigate2(ByVal sender As System.Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_BeforeNavigate2Event) Handles AxWebBrowser1.BeforeNavigate2 If My.Settings.BsecModuleON_OFF = True Then e.uRL.ToString() If e.uRL.Contains("ichbingefährlich.de") = True Then AxWebBrowser1.Stop() MessageBox.Show("Seite gefährlich, sie werden umgeleitet", "BrowserName", MessageBoxButtons.OK, MessageBoxIcon.Error) AxWebBrowser1.Navigate("http://www.haumichtot.de/") End If End Sub
oder auch das hier:
Private Sub AxWebBrowser1_BeforeNavigate2(ByVal sender As System.Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_BeforeNavigate2Event) Handles AxWebBrowser1.BeforeNavigate2 If My.Settings.BsecModuleON_OFF = True Then e.uRL.ToString() If e.uRL Like ("*ichbingefährlich.de*") Or e.uRL Like ("*ichbingefährlich2.de*") = True Then AxWebBrowser1.Stop() MessageBox.Show("Seite gefährlich, sie werden umgeleitet", "BrowserName", MessageBoxButtons.OK, MessageBoxIcon.Error) AxWebBrowser1.Navigate("http://www.haumichtot.de/") End If
Wäre nett, wenn mir jemand helfen könnte....
Grüße
- Bearbeitet Robert BreitenhoferModerator Mittwoch, 31. März 2010 06:53 Formatierung
Antworten
-
Hallo vb.net-tier,
Man konnte zum Beispiel eine Array erstellen (kann auch von einer Text Datei gefüllt werden) und dann auf dem Navigating Ereignis des WebBrowser Steuerlement kann man prüfen in einer For Each Schleife ob die Seite mit dem Element aus dem Array passend ist.
Public Class Form1 Dim arr() As String = {"ichbingefährlich.de", "ichbingefährlich2.de"} Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate("http://www.ichbingefährlich.de.com") End Sub Private Sub WebBrowser1_Navigating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating For Each arrElement In arr If e.Url.Host.ToLower Like ("*" + arrElement + "*").ToLower Then MsgBox("Zugriff auf folgende URL wurde verweigert: " & e.Url.ToString()) e.Cancel = True Exit For End If Next End Sub End Class
Lies mal auch folgender Artikel:
http://msdn.microsoft.com/en-us/library/aa752044(VS.85).aspx
Grüße,
Robert
- Als Antwort markiert Robert BreitenhoferModerator Montag, 10. Mai 2010 14:21
Alle Antworten
-
Hallo vb.net-tier,
Man konnte zum Beispiel eine Array erstellen (kann auch von einer Text Datei gefüllt werden) und dann auf dem Navigating Ereignis des WebBrowser Steuerlement kann man prüfen in einer For Each Schleife ob die Seite mit dem Element aus dem Array passend ist.
Public Class Form1 Dim arr() As String = {"ichbingefährlich.de", "ichbingefährlich2.de"} Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate("http://www.ichbingefährlich.de.com") End Sub Private Sub WebBrowser1_Navigating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating For Each arrElement In arr If e.Url.Host.ToLower Like ("*" + arrElement + "*").ToLower Then MsgBox("Zugriff auf folgende URL wurde verweigert: " & e.Url.ToString()) e.Cancel = True Exit For End If Next End Sub End Class
Lies mal auch folgender Artikel:
http://msdn.microsoft.com/en-us/library/aa752044(VS.85).aspx
Grüße,
Robert
- Als Antwort markiert Robert BreitenhoferModerator Montag, 10. Mai 2010 14:21