ip valideren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maurice kransse

maurice kransse

17/01/2007 12:58:00
Quote Anchor link
function checkip($formname)
{
if(trim($formname)!='')
{
if(!ereg("[0-9]*\\.[0-9]*\\.[0-9]*\\.[0-9]", $formname))
global $error_msg;
$error_msg.="geen geldig ip<br>";
}
}

Bovenstaande is mijn functie om een ip te controleren maar heo zeg ik nu dat het per getal niet hoger dan 255 mag zijn.
 
PHP hulp

PHP hulp

19/11/2024 08:39:22
 
- SanThe -

- SanThe -

17/01/2007 13:10:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$ip
= '123.123.123.123';
$expl = explode('.', $ip);
if(count($expl) != 4)
{

    // Fout
}
foreach($expl as $key=>$waarde)
{

    if(($waarde < 0) or ($waarde > 255))
    {

        // Fout
    }
}

?>
 
- wes  -

- wes -

17/01/2007 13:14:00
Quote Anchor link
hoe haal je dat ip op? mensen dit zelf laten invullen lijkt me hier de enige toepassing op, maar dat is dan weer overbodig..
 
Maurice kransse

maurice kransse

17/01/2007 13:18:00
Quote Anchor link
ja ik ben bezig met het maken van een applicatie waar ip geregistreerd moeten kunnen worden en de gebruiker moet dit dus kunnen invoeren
 
- wes  -

- wes -

17/01/2007 13:21:00
Quote Anchor link
PHP (en geloof ook javascript) kunnen zelf een IP ophalen van iemand. Zelf een IP invoeren wekt bij mij persoonlijk altijd behoorlijk argwaan op
 
Erik Rijk

Erik Rijk

17/01/2007 13:21:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
if(ereg('^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$', $ip))
{

    // het is goed :)
}
else {
    // aah, deze mag niet :(
}
?>


Met $_SERVER['REMOTE_ADDR'] haal je het IP op van de gebruiker.
Gewijzigd op 01/01/1970 01:00:00 door Erik Rijk
 
B a s
Beheerder

B a s

17/01/2007 13:21:00
Quote Anchor link
Waarom detect je dan niet automatisch het IP adres?? Als je het laat invoeren door een gebruiker is het fraude gevoelig toch??
 
- wes  -

- wes -

17/01/2007 13:22:00
Quote Anchor link
@erik , een ipadres van 999.999.999.999 mag van jou? wat liev :)
 
Erik Rijk

Erik Rijk

17/01/2007 13:24:00
Quote Anchor link
hehe,

die controle vond ik nog ergens in een oud script :P Ik dacht "die post ik even."
 
Maurice kransse

maurice kransse

17/01/2007 13:29:00
Quote Anchor link
ik wil het niet automatisch omdat ip's van andere pc's binnen het bedrijf geregistreerd moeten kunne nworden bijv van servers
 
Arjan Kapteijn

Arjan Kapteijn

17/01/2007 13:30:00
Quote Anchor link
Kan je niet iets doen met ip2long of long2ip?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$ip
  = gethostbyname('www.example.com');
$long = ip2long($ip);

if ($long == -1 || $long === FALSE) {
   echo 'Invalid IP, please try again';
}
else {
   echo $ip  . "\n";          // 192.0.34.166
   echo $long . "\n";          // -1073732954
   printf("%u\n", ip2long($ip)); // 3221234342
}
?>
 
Maurice kransse

maurice kransse

17/01/2007 13:38:00
Quote Anchor link
Dank julliej ik heb het gefixed
 
Maurice kransse

maurice kransse

17/01/2007 13:39:00
Quote Anchor link
maar voor een datum werkt het neem ik aan een beetje hetzelfde of niet??
 
Bo az

Bo az

17/01/2007 13:40:00
Quote Anchor link
Heb je PHP5 ?
Als je dat hebt moet je eens naar de filter functies kijken, die kan zelfs locale ip adressen herkennen...
 
Jurgen assaasas

Jurgen assaasas

17/01/2007 13:42:00
Quote Anchor link
datum kun je opvragen(van vandaag iig).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo date('d-m-Y');
//geeft 17-01-2007
?>


de volgorde van de letters bepaalt de notatie
 
Martijn Wieringa

Martijn Wieringa

17/01/2007 14:01:00
Quote Anchor link
Bij mijn weten valt het veld $_SERVER["remote_addr"] niet te manipuleren.
Dus dat hoef je niet te checken op geldige syntax?
 
Frank -

Frank -

17/01/2007 14:43:00
Quote Anchor link
Pholeron schreef op 17.01.2007 14:01:
Bij mijn weten valt het veld $_SERVER["remote_addr"] niet te manipuleren.
Dus dat hoef je niet te checken op geldige syntax?
Geen idee of je er een ongeldige waarde van kunt maken, maar een ip-adres kun je wel aanpassen. Het hoeft dus absoluut niet het adres van de bezoeker te zijn, laat staan dat het een uniek adres hoeft te zijn.

Ik zou niet al te veel waarde hechten aan het ip-adres.
 
Bart van der veen

bart van der veen

17/01/2007 14:55:00
Quote Anchor link
Quote:
Bovenstaande is mijn functie om een ip te controleren maar heo zeg ik nu dat het per getal niet hoger dan 255 mag zijn.


was even nieuwsgierig naar het antwoord op de orignele vraag
[0-255] Digit between 0 and 255
 
K i p

K i p

17/01/2007 16:04:00
Quote Anchor link
@Bart: dan mag "0.0.0.0" dus ook, of "3.7.4.7". Zou je het niet zo doen?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
    $twee_vijf_vijf
= '[0-2]{1}[0-5]{1}[0-5]{1}';
    $pattern = '^' . $twee_vijf_vijf . '\.' . $twee_vijf_vijf . '\.' . $twee_vijf_vijf . '\.' . $twee_vijf_vijf . '$';
    
    //of in een loop
    $pattern = '^';
    for ($i = 0 ; $i < 4 ; $i++)
    {

        $pattern .= $twee_vijf_vijf . '\.';
    }

    $pattern = substr($pattern , 0 , -2) . '$';
    
    if(ereg($pattern, $ip))
    
    {

        // het is goed :)
    }
    else
    {
        // aah, deze mag niet :(
    }
?>
 
Arend a

Arend a

17/01/2007 16:25:00
Quote Anchor link
Boris: 169 mag wel hoor.
 
K i p

K i p

17/01/2007 16:39:00
Quote Anchor link
Owjah oeps :-/

Of zoiets: 86.84.32.47
Gewijzigd op 01/01/1970 01:00:00 door K i p
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.