Autor Thema: Problem @Matches - IP Adressen  (Gelesen 979 mal)

Offline Wipe

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 873
  • Geschlecht: Männlich
Problem @Matches - IP Adressen
« am: 19.06.02 - 11:14:26 »
Hallo,

ich soll in unserer Inventar DB eine Eingabevaledierung für IP Adressen hinterlegen.   >:( Ich steh total auf dem Schlauch.  ???
Beispiel:

Unsere Zentrale hat einen Range von 160.1.32.xxx bis 160.1.50.xxx
Niederlassungen haben einen Range von 200.1.NL-Nr.xxx Beispiel 200.1.11.177
und bestimmte Ranges sind reserviert.

1. Wie checke ich generell die die Stellen ?
2. Wie checke ich detailiert auf den gesamten Range ?
3. Wie checke ich auf reservierte Ranges ?

Hat jemand sowas schon gemacht ?? Bin um jeden Tip und Hilfe dankbar.


PS: Ich glaube so eine Eingabevaledierung sprengt das Formelfenster.  ;)

Gruss
Bubble



« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Problem @Matches - IP Adressen
« Antwort #1 am: 19.06.02 - 14:50:11 »
Check this out !! Damit kannst du prüfen, ob sich eine IP in einem bestimmten Range befindet

firstPart := @Word( IPAddressField; "."; 1 );
secondPart := @Word( IPAddressField; "."; 2 );
thirdPart := @Word( IPAddressField; "."; 3 );
FourthPart := @Word( IPAddressField; "."; 4 );

REM "Check IP format";
@If(firstPart=""; @Failure("Wrong IP address"); NULL);
@If(SecondPart=""; @Failure("Wrong IP address"); NULL);
@If(thirdPart=""; @Failure("Wrong IP address"); NULL);
@If(FourthPart=""; @Failure("Wrong IP address"); NULL);

REM "If you are here, it means that your IP address has the right format : XXX-XXX-XXX-XXX";
REM "Check if each part is a number";
@If(@IsError(@TextToNumber(firstPart)); @Failure("IP address requires only numbers"); NULL);
@If(@IsError(@TextToNumber(secondPart)); @Failure("IP address requires only numbers"); NULL);
@If(@IsError(@TextToNumber(thirdPart)); @Failure("IP address requires only numbers"); NULL);
@If(@IsError(@TextToNumber(fourthPart)); @Failure("IP address requires only numbers"); NULL);

REM "If you are here, then you have an IP Address.";
REM "but is it one of yours ?";
one := @TextToNumber(firstPart);
second := @TextToNumber(secondPart);
third := @TextToNumber(thirdPart);
fourth := @TextToNumber(fourthPart);

@If(one< YOUR_LIMIT_ONE_DOWN | one > YOUR_LIMIT_ONE_UP; @Failure("Wrong range"); NULL);
@If(second< YOUR_LIMIT_SECOND_DOWN | second > YOUR_LIMIT_SECOND_UP; @Failure("Wrong range"); NULL);
@If(third< YOUR_LIMIT_THIRD_DOWN | third > YOUR_LIMIT_THIRD_UP; @Failure("Wrong range"); NULL);
@If(fourth< YOUR_LIMIT_FOURTH_DOWN | fourth > YOUR_LIMIT_FOURTH_UP; @Failure("Wrong range"); NULL);

REM "if you are here, your IP address is one of yours..."



eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz