1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

IP Adressen matching

  • davewood
  • 22. September 2008 um 15:11
  • Unerledigt
  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 25. September 2008 um 14:08
    • #21
    Zitat von davewood


    Hab mal atoi durch stroul ersetzt, is das ne bessere Alternative?

    solange du kein error-checking einfuehrst nicht wirklich. es geht darum, dass du bei "atoi" keine moeglichkeit hast den fehlerfall abzufragen, bei strtol schon. ein "strtol("fucked_up", NULL, 10)" haut dir auch "0" zurueck. es liegt dann an dir zu schauen was passiert ist. "man strtol" hat ein ausfuehrliches beispiel.

    Zitat von davewood


    Sowie sprintf durch snprintf

    die n-varianten verwende ich meist nur, wenn ich mit user-input rechne, oder input bei dem man sich nicht sicher sein kann wie lang er ist. manchmal bin ich aber auch zu schlampig, tja. man darf halt nicht den fehler machen und sich denken "is eh a snprintf, damit bin ich auf der sicheren seite". in deinem fall haetts nichts gebracht, aber da war der '*' ja ein typo. ob man es die n-varianten bei "sicherem code" verwendet ist wohl geschmackssache. je nachdem wie vorsichtig man sein mag.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • davewood
    17
    davewood
    Mitglied
    Reaktionen
    9
    Punkte
    3.204
    Beiträge
    536
    • 25. September 2008 um 15:01
    • #22
    Zitat von Kampi

    solange du kein error-checking einfuehrst nicht wirklich. es geht darum, dass du bei "atoi" keine moeglichkeit hast den fehlerfall abzufragen, bei strtol schon. ein "strtol("fucked_up", NULL, 10)" haut dir auch "0" zurueck. es liegt dann an dir zu schauen was passiert ist. "man strtol" hat ein ausfuehrliches beispiel.


    Naja der Input kommt aus einer Regexp und is maximal 3 digits lang, also kann die zahl weder zu gross noch zu klein noch nicht-zahl sein.

    I like Toast!

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 25. September 2008 um 15:51
    • #23
    Zitat von davewood

    Naja der Input kommt aus einer Regexp und is maximal 3 digits lang, also kann die zahl weder zu gross noch zu klein noch nicht-zahl sein.


    vorausgesetzt pcre ist perfekt und bugfrei. ich denke das muss jeder selbst entscheiden welchen libraries er trauen mag oder nicht. darauf wollte ich aber gar nicht hinaus. es war auf den generellen fall von atoi vs. strtol bezogen.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • davewood
    17
    davewood
    Mitglied
    Reaktionen
    9
    Punkte
    3.204
    Beiträge
    536
    • 26. September 2008 um 16:55
    • #24

    Mal wieder ein tgz-
    Hab noch keine Struktur implementiert, sprich es is noch alles in einem Array, aber einiges an Helper Funktionen und verbessertes Parsing für CIDR Notation.

    und bei besagter CIDR notation hab ich scheints noch einen bug drin wenn der input zB 192.168.1/24 is

    naja =) Montag dann :p

    ps: bug gefunden, nach Zeile 186 ein "break;" einfügen. im nächsten "release" is es dann aber eh drin.
    pps: okay hab mich verschaut, bug is doch woanders :p
    ppps: ich hab den bug nun doch gefunden, pcre hat ein bissl anders gearbeitet als ich dachte, bugfix is aber ned in dem tgz

    I like Toast!

    4 Mal editiert, zuletzt von davewood (26. September 2008 um 17:30)

  • davewood
    17
    davewood
    Mitglied
    Reaktionen
    9
    Punkte
    3.204
    Beiträge
    536
    • 3. Oktober 2008 um 09:51
    • #25

    Ich werds vermutlich nun mit einem Hash lösen

    http://os.cqu.edu.au/cgi-bin/info/i…arch%20Function

    I like Toast!

  • davewood
    17
    davewood
    Mitglied
    Reaktionen
    9
    Punkte
    3.204
    Beiträge
    536
    • 3. Oktober 2008 um 15:29
    • #26

    search_ip("192.168.1.1")

    looks for a match in a hash of ip network ranges and returns the most specific (e.g.: returns 192.168.1.1/24 before 192.168.1.1/16)

    there is a rather huge example config file in the archive.

    I like Toast!

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung