14 berichten aan het bekijken - 1 tot 14 (van in totaal 14)
  • Q:

    Bijdrager
    computer space

    Verwijderd

    Verwijderd


    Bijdrager
    tricksel

    een explode doen op het ipadres, en de hieruit volgende array tegen een database result aanhangen is denk ik zo traag nog niet. Is in ieder geval wel t makkelijkst om de IP-adressen in bij te houden. Je zou het ook met een text-file’tje kunnen doen.


    Bijdrager
    computer space

    Ik dacht meer aan zoiets:
    http://us2.php.net/preg_match
    Maar ik weet niet hoe dit nuttig zou kunnen zijn en hoe de syntax dan moet zijn.


    Bijdrager
    mac748

    waarom niet in_array() ?
    als het er toch maar 5 tot 10 zijn.


    Bijdrager
    computer space

    in-array lijkt goed maar….
    Kan ik dan wildcards gebruiken? Dat is essentieel. Bij IP nummers moet bijvoorbeeld numer 3 en 4 gelijk zijn aan iets, terwijl 1 en 2 mogen varieren. Wanneer iemand een IP heeft waar getal 2 en 3 gelijk zijn aan de getallen 3 en 4 van een fout domein krijg je foutieve uitsluiting.

    Banned IP = x.x.123.234

    1.123.234.157 moet dan doorgelaten worden
    2.34.123.234 echter niet


    Bijdrager
    apenstaartje

    misschien moet je deze functie even wat bekijken, http://nl2.php.net/manual/en/function.ip2long.php
    Misschien dat je dan wat meer kan werken met de waardes tussen de bepaalde ip adressen.

    Maar het lijkt mij weinig zin te hebben om filters te hebben op *.*.123.234… Dan kun je net zo goed een random getal nemen om mensen te weigeren…
    Als je bepaalde providers wilt blokken, dan zit je net omgekeerd, 123.234.123.*.
    (en dan kun je ip2long wel goed gebruiken…)


    Bijdrager
    computer space
    ”apenstaartje”

    Als je bepaalde providers wilt blokken, dan zit je net omgekeerd, 123.234.123.*.

    Uiteraard, gaat gewoon om het idee. .odol is ook geen bestaande extensie;-)
    Ik had de IP versie misschien niet moeten noemen. Ik wil vooral de NSlookup versie oplossen, en dan kan de IP situatie vanzelf ook op die manier.

    Dus deze vergelijking liefst in één commando met een makkelijk te wijzigen lijst opties:
    indien $NSlooup bevat (‘spamdomein.net’ of ‘*.viagraboer*.odol’ of ‘casino.net’) dan exit(‘wegwezen’);
    waarbij de * als een wildcard werkt


    Bijdrager
    vikking

    Ik denk dat een combinatie van explode en ereg goed zou kunnen werken, dus eerst het ip exploden en dan al de stukjes afgaan met ereg (of preg_match)


    Bijdrager
    apenstaartje

    eerst dus gethostbyname en dan kijken of deze binnen de range valt met ip2long..


    Bijdrager
    computer space

    Ik ga nog verder generaliseren (en de nslookup/ip gedachte loslaten), want dit gaat de verkeerde kant op.

    Ik heb een tekst en ik wil checken of een van deze stukken in de tekst voorkomt:
    ‘*.apple.com’
    ‘www*.domein.*’
    ‘pictures*.flickr.com’

    De sterretjes mogen weer alles zijn.
    Hoe dit te doen?


    Bijdrager
    GREENSKiN

    Regular expressions are your friends…:)


    Bijdrager
    computer space
    ”GREENSKiN”

    Regular expressions are your friends…:)

    Daar was ik al bang voor, en daarom hoopte ik dat iemand dat enigszins kan concretiseren,


    Bijdrager
    GREENSKiN

    . <- ieder willekeurig karakter
    * <- het volgende karakter minstens eenmaal, of vaker

    .* <- matcht dus alles

    ^ <- begin van de regel
    $ <- einde van de regel

    ^appel.*$ <- matcht dus appel, appelsap, appeltaart, maar niet appel

    In sommige regex talen moet je haakjes om de term heenzetten. Dan dus ^appel(.*)$ ipv ^appel.*$.

    Easy-peasy!:)


    Bijdrager
    iPHP

    Iets als …

    =~ /[IPv6:((3ffe|2001|2002)(:[da-f]{0,4}){3,7})/ig

    Wellicht even ombouwen voor alleen een ipv4 adres…

    =~ /(d{1,3}(.d{1,3}){3})/g

    owja, nog even ombouwen naar de php variant.

    Succes,

14 berichten aan het bekijken - 1 tot 14 (van in totaal 14)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.