IP Adressen abfragen und durch eine if- Funktion jagen
meinste
- vb-script
0 meinste0 Markus Mühlich0 Frank
So das ganze ist für ein Intranet wo die Seiten auf mehreren Servern liegen. Da die IP- Bereiche festgelegt sind. Soll eine HTML-Seite mit einem VB-Script die IP Adresse von dem Rechner herausfinden. Das geht mit der Variable remote_addr, das weiß ich schon (verstehe aber dennoch nur Bahnhof)
So weit so gut.
Auf grund des IP Bereichs soll der Script den User auf den Hausinternen Server umleiten.
Das heißt. Wenn jetzt einer mit der IP 10.30. ... die Seite aufruft soll er das entsprechende Dokument von dem Server aus laden der in dem Gebäude mit dem IP- Bereich 10.30. ... steht. Und so weiter.
Währe nett wenn mir das mal einer genauer erklären könnte. Wie ich das am Besten mit VB-Script machen kann. Weil ich diese ja genau wie Javascript direkt in den Quelltext der HTML-Datei einbinden kann ohne irgendwelche interpreten wie bei Perl.
Danke
Ist mal eben jemand so nett und erklärt mir was der Script genau macht?
<% Response.Buffer = True Select Case LCase(Request.ServerVariables("REMOTE_ADDR")) Case "ip10.30": Response.Redirect "/ordner1/"Case "ip10.31": Response.Redirect "/ordner2/" Case "ip10.32": Response.Redirect "/ordner2/" Case Else: Response.Redirect "/default/" End Select%>
Danke
Hallo,
Ist mal eben jemand so nett und erklärt mir was der Script genau macht?
gerne ;-)
<% Response.Buffer = True
Normalerweise wird jede Scriptzeile unmittelbar nach deren Abarbeitung auf dem Server unmittelbar an den Browser gesendet. Dies hat jedoch den Nachteil, daß dann auf den HTTP-Header nicht mehr zugegriffen werden kann.
Zum Beispiel wird eine solche ungepufferte Seite einen Header-Fehler melden, wenn dann z.B. mit Response.Redirect (wie in Deinem u.g. Beispiel) auf eine andere Seite verwiesen werden soll, da diese Anweisung im HTTP-Header mitgesendet wird.
Mit Response.Buffer = true wird erreicht, daß zunächst alle Scriptzeilen der ASP-Seite komplett auf dem Server abgearbeitet werden und dann die Seite in 'einem Schwung' zum Client geht. Mit Response.Flush wird das puffern unterbrochen und alles was bis dahin im Puffer ist gesendet.
Select Case LCase(Request.ServerVariables("REMOTE_ADDR"))
Wähle(überprüfe) Fall (alles in Kleinbuchstaben) Anfordernde Adresse
Case "ip10.30" Response.Redirect "/ordner1/"
Fall "ip.30": Leite weiter auf Startseite im Ordner1
Case "ip10.31" Response.Redirect "/ordner2/"
Fall "ip.31": Leite weiter auf Startseite im Ordner2
...
Case Else Response.Redirect "/default/"
Alle anderen Fälle (die nicht o.g. Bedingungen erfüllen): Leite weiter auf Startseite im Ordner default
End Select%>
Beende Wahl (Überprüfung)
Viele Grüße
Markus
Hallo,
Hallo!
genau das wäre auch vom Fragesteller "meinste" angebracht gewesen.
Markus, deine Freundlichkeit in allen Ehren, aber wenn jemand wie "meinste" seine Fragen so dahin rotzt, würde ich nicht so nett antworten.
Viele Grüße aus Dresden
Frank