Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: jofa am 28.08.02 - 17:31:44

Titel: Zugriffskontrolle
Beitrag von: jofa am 28.08.02 - 17:31:44
Hi @all,

mal wieder ne neue Herausforderung für mich:

Ich habe eine DB auf die per Browser anonym lesend zugegriffen wird, dieses soll ich nun einschränken auf einen IP-Adr. Bereich, habe noch keine Idee wie ich das machen kann.

Wenn mit einem LN Client zugegriffen wird ist die DB frei, bzw. der Zugriff wird über die ACL geregelt.

Anonymous ist für den Webzugriff auf Reader.

IP Adresse bekomme ich auch über Remote_Addr ...

aber weiter ... hmmm  ::)

Gruss JoFa
Titel: Re: Zugriffskontrolle
Beitrag von: Ayhan am 28.08.02 - 18:55:30
Hallo Jofa,

also ich hätte da schon eine Lösung:

1. Erstelle eine Maske mit dem Feld Remote_Address (damit du die aktuelle IP des Users auslesen kannst).


2. Füge folgenden Code in den Header deiner Maske ein:
REM IP-Bereich deklarieren (tmp0= Unterbereich; tmp1=Oberbereich)
tmp0:=127.0.0.0;
tmp1:=192.168.1.1;
tmp3:=@TextToNumber(Remote_Address):
REM Weiterleitung, wenn User-Ip im deklarierten Bereich liegt;
_Enter:="<meta http-equiv=\"refresh\" content=\"0; URL=/db.nsf/intro?OpenView\">";
REM Wenn nicht, dann auf folgende Seite weiterleiten
_Exit:="<meta http-equiv=\"refresh\" content=\"0; URL=http://deinserver.de/noaccess.html\">";
@If(tmp3>=tmp0 & tmp3<=tmp1;_Enter;_Exit);

3. Die Startoptionen der DB dann auf diese Maske setzen. Um auch zu vermeiden, dass niemand quer in die DB einsteigt, kannst du auch den obigen Code in jede Maske einfügen, somit hättest du diesen Sonderfall auch abgedeckt.

Also das mit den REMs kannst du / musst du auslassen, die habe ich nur mitreingeschrieben, damit du weißt, um was es geht.

Habe mir grad alles so ausgedacht und noch nicht getestet... Müßte aber funktionieren...

Ayhan
Titel: Re: Zugriffskontrolle
Beitrag von: jofa am 29.08.02 - 08:50:49
Hi Ayhan,

geht leider nicht :-(

Ich habe in WebQueryOpen Deinen Code leicht modofoziert eingefügt, aber leider funkt es nicht :-(

tmp0:=@TextToNumber("127.0.0.0");
tmp1:=@TextToNumber("132.168.1.1");
tmp3:=@TextToNumber(Remote_Address);
_Enter:="<meta http-equiv=\"refresh\" content=\"0; URL=http://deinserver.de/test/db.nsf/MainGroup?OpenFrameset\">";
_Exit:="<meta http-equiv=\"refresh\" content=\"0; URL=http://deinserver.de/noaccess.html\">";
@If(tmp3>=tmp0 & tmp3<=tmp1;_Enter;_Exit)

Ausserdem kann ich eine Maske bei den Startoptionen nicht eingeben nur eine Seite usw.

Gruss JoFa
Titel: Re: Zugriffskontrolle
Beitrag von: Ayhan am 29.08.02 - 08:56:41
Hy Jofa,

das darf auch nicht in den WebQueryOpen. Das muss in einer Maske in den HTML-Head (oberhalb vom WebQueryOpen). Dann musst du natürlich auch das Feld mit der CGI-Variablen Remote_ADDRESS (um die Benutzer-IP rauszukriegen) in der selben Maske haben.

Ich habe es hier nachgebaut, es funktioniert.

Startoptionen:
Erstelle eine Seite, setze die als Startseite fest. Von hier leitest du automatisch auf deine Maske weiter, die du erstellt hast.

Einfach folgenden Code in die Seite (in den HTML-HEAD) einfügen:
"<meta http-equiv=\"refresh\" content=\"0; URL=/db.nsf/ipcheck?OpenForm\">"

Wenn immernoch Probleme hast, dann erstelle ich das schnell und maile es dir zu.

Ayhan

Titel: Re: Zugriffskontrolle
Beitrag von: jofa am 29.08.02 - 10:22:24
Hi Ayhan,

supiii, thx a lot ... it works :-)

Danke für die schnelle Hilfe, hat mir ne Menge Kopfzerbrechen gespart :-)

Gruss JoFa
Titel: Re: Zugriffskontrolle
Beitrag von: Ayhan am 29.08.02 - 10:28:54
;)

Gern geschehen...

Was hast du denn beim ersten Versuch verkehrt gemacht? WebQueryOpen?

Gruß
Ayhan
Titel: Re: Zugriffskontrolle
Beitrag von: jofa am 29.08.02 - 12:03:46
Ja genau,

hatte es in das falsche Feld gesetzt :-(

Danke & Gruss
JoFa