Bekijk Volledige Versie : Aantal chars van een IP adres
Jan Smeelen
06/08/05, 00:25
Weet iemand hier wat het maximale aantal karakters van een IP adres is ?
Ik meen 15 ?
Echter om voorbereid te zijn op de toekomst :
De max. lengte in karakters van een IPv6 adres
hoe lang kan die zijn ?
Stomme vraag misschien ;)
Echter wil ik in de MySQL database
de max. lengte opgeven voor het veld ip-nr.
Bedankt voor reply !
Jan.
On Sat, 6 Aug 2005 00:24:38 +0200, Jan Smeelen <ivalid@invalid.invalid> wrote:
> Weet iemand hier wat het maximale aantal karakters van een IP adres is ?
> Ik meen 15 ?
.....
> Stomme vraag misschien ;)
> Echter wil ik in de MySQL database
> de max. lengte opgeven voor het veld ip-nr.
PostgreSQL heeft er speciale velden voor. Mocht je het toch in mysql
willen doen dan kun je beter 4 unsigned tiny ints gebruiken die je
concat. Op die manier kun je ook eventueel op ranges zoeken.
Groet,
Hans
--
<iemand>
iemand heeft een gat gevonden in pdp's access.db? bel cnn
http://blacklist.kernelnewbies.nl
Jan Smeelen
06/08/05, 00:55
"Hans" <replyelsewhere@hans.kernelnewbies.nl> schreef in bericht
news:slrndf7qat.ola.replyelsewhere@server.lonki.xs 4all.nl...
> On Sat, 6 Aug 2005 00:24:38 +0200, Jan Smeelen <ivalid@invalid.invalid>
> wrote:
>> Weet iemand hier wat het maximale aantal karakters van een IP adres is ?
>> Ik meen 15 ?
>
> ....
>
>> Stomme vraag misschien ;)
>> Echter wil ik in de MySQL database
>> de max. lengte opgeven voor het veld ip-nr.
>
> PostgreSQL heeft er speciale velden voor. Mocht je het toch in mysql
> willen doen dan kun je beter 4 unsigned tiny ints gebruiken die je
> concat. Op die manier kun je ook eventueel op ranges zoeken.
Ik wil het idd graag in MySQL doen, er hoeft echter weinig mee gedaan te
worden,
het is puur voor het vastleggen van een ip-nr bij aanmelding op een
nieuwsbrief
systeem, waarbij ik Double OPT-IN wil gaan toepassen.
Ik wil ipnr en datum+tijdstip vastleggen van :
- Aanmelding
- De "Klik" op de Bevestigings-link in de e-mail
Dit uiteraard om SPAM tegen te gaan, en bij een SPAM klacht
die gegevens weer tevoorschijn te kunnen halen ;)
Als je nog tips hebt, (wat meer op te slaan) bij het aanleggen van
een bestand voor nieuwsbrief abbo's hoor ik het graag !
p.s. Uiteraard sla ik ook e-mail adres, html of text mail e.d. op.
Alvast bedankt.
Jan.
On Sat, 6 Aug 2005 00:54:12 +0200, Jan Smeelen <ivalid@invalid.invalid> wrote:
>
> "Hans" <replyelsewhere@hans.kernelnewbies.nl> schreef in bericht
> news:slrndf7qat.ola.replyelsewhere@server.lonki.xs 4all.nl...
> Ik wil het idd graag in MySQL doen, er hoeft echter weinig mee gedaan te
> worden,
> het is puur voor het vastleggen van een ip-nr bij aanmelding op een
> nieuwsbrief
> systeem, waarbij ik Double OPT-IN wil gaan toepassen.
> Ik wil ipnr en datum+tijdstip vastleggen van :
> - Aanmelding
> - De "Klik" op de Bevestigings-link in de e-mail
Is wel zo verstandig ja. Nog een tip, stuur geen reklame in het
de bevestigings mail, rbl's zullen het ipnummer dan sneller
whitelisten als iemand bijvoorbeeld qwerty.tld gebruikt als
afzender en het in een spamtrap terecht komt. Geef mensen ook
pas toegang als ze op de link 'geklikt' hebben.
> Als je nog tips hebt, (wat meer op te slaan) bij het aanleggen van
> een bestand voor nieuwsbrief abbo's hoor ik het graag !
Het ipnummer alleen is niet genoeg, kijk of ze achter een proxy
zitten en sla dat ipnummer dus ook op.
> p.s. Uiteraard sla ik ook e-mail adres, html of text mail e.d. op.
>
> Alvast bedankt.
np,
Hans
--
<iemand>
iemand heeft een gat gevonden in pdp's access.db? bel cnn
http://blacklist.kernelnewbies.nl
Michiel de Roo
06/08/05, 14:05
Hans wrote:
> Het ipnummer alleen is niet genoeg, kijk of ze achter een proxy
> zitten en sla dat ipnummer dus ook op.
Hoe had je dat in gedachten ?
On Sat, 06 Aug 2005 14:01:35 +0200,
Michiel de Roo <yourlove@welovespam.nl> wrote:
> Hans wrote:
>> Het ipnummer alleen is niet genoeg, kijk of ze achter een proxy
>> zitten en sla dat ipnummer dus ook op.
>
> Hoe had je dat in gedachten ?
HTTP_X_FORWARDED_FOR
Groet,
Hans
--
<iemand>
iemand heeft een gat gevonden in pdp's access.db? bel cnn
http://blacklist.kernelnewbies.nl
Hans Spaans
06/08/05, 14:45
Michiel de Roo wrote in nl.internet.www.server-side:
> Hans wrote:
>> Het ipnummer alleen is niet genoeg, kijk of ze achter een proxy
>> zitten en sla dat ipnummer dus ook op.
>
> Hoe had je dat in gedachten ?
Met behulp van een van de volgende headers Via, Forwarded,
X-Forwarded-For of Client-ip. Zie de links onder voor meer informatie.
Hans
[1] <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45>
[2] <http://www.ics.uci.edu/pub/ietf/http/history/draft-ietf-http-v10-spec-01.html>
--
`Netflow is a Cisco IOS software feature and also the name of an open
(but proprietary) Cisco protocol for collecting IP traffic information.'
-- http://en.wikipedia.org/wiki/Netflow
Michiel de Roo
06/08/05, 16:15
Hans wrote:
> On Sat, 06 Aug 2005 14:01:35 +0200,
> Michiel de Roo <yourlove@welovespam.nl> wrote:
>
>>Hans wrote:
>>
>>>Het ipnummer alleen is niet genoeg, kijk of ze achter een proxy
>>>zitten en sla dat ipnummer dus ook op.
>>
>>Hoe had je dat in gedachten ?
>
>
> HTTP_X_FORWARDED_FOR
Ha, kende ik niet maar is leuk. Maar het werkt dus alleen voor proxy
servers die deze header expliciet toevoegen. En niet bij een NAT router
helaas.
On Sat, 06 Aug 2005 16:09:51 +0200,
Michiel de Roo <yourlove@welovespam.nl> wrote:
> Hans wrote:
>> On Sat, 06 Aug 2005 14:01:35 +0200,
>> Michiel de Roo <yourlove@welovespam.nl> wrote:
>>
>>>>Het ipnummer alleen is niet genoeg, kijk of ze achter een proxy
>>>>zitten en sla dat ipnummer dus ook op.
>>>
>>>Hoe had je dat in gedachten ?
>>
>>
>> HTTP_X_FORWARDED_FOR
>
> Ha, kende ik niet maar is leuk. Maar het werkt dus alleen voor proxy
> servers die deze header expliciet toevoegen. En niet bij een NAT router
> helaas.
Klopt, je hebt echter weer een beetje meer gegevens als dat wordt
aangegeven.
Hans
--
<iemand>
iemand heeft een gat gevonden in pdp's access.db? bel cnn
http://blacklist.kernelnewbies.nl
Jan Smeelen
06/08/05, 19:25
"Michiel de Roo" <yourlove@welovespam.nl> schreef in bericht
news:42f4a6a0$0$11068$e4fe514c@news.xs4all.nl...
> Hans wrote:
>> Het ipnummer alleen is niet genoeg, kijk of ze achter een proxy
>> zitten en sla dat ipnummer dus ook op.
>
> Hoe had je dat in gedachten ?
Even stukje kant en klare code, ( gevonden op php.net )
if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {
if ($_SERVER["HTTP_CLIENT_IP"]) {
$proxy = $_SERVER["HTTP_CLIENT_IP"];
} else {
$proxy = $_SERVER["REMOTE_ADDR"];
}
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
if ($_SERVER["HTTP_CLIENT_IP"]) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
}
Groeten,
Jan.
Jan Smeelen schreef:
> "Michiel de Roo" schreef
> > Hans wrote:
> >> Het ipnummer alleen is niet genoeg, kijk of ze achter een proxy
> >> zitten en sla dat ipnummer dus ook op.
> >
> > Hoe had je dat in gedachten ?
>
> Even stukje kant en klare code, ( gevonden op php.net )
> if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {
> if ($_SERVER["HTTP_CLIENT_IP"]) {
> $proxy = $_SERVER["HTTP_CLIENT_IP"];
> } else {
> $proxy = $_SERVER["REMOTE_ADDR"];
> }
> $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
> } else {
> if ($_SERVER["HTTP_CLIENT_IP"]) {
> $ip = $_SERVER["HTTP_CLIENT_IP"];
> } else {
> $ip = $_SERVER["REMOTE_ADDR"];
> }
> }
>
Of (als alternatief, in perl):
sub getIP()
{
$user_ip = "onbekend";
$proxy_ip = "";
if (defined($ENV{'REMOTE_ADDR'}))
{
$user_ip = $ENV{'REMOTE_ADDR'};
$proxy_ip = "";
};
if (defined($ENV{'HTTP_VIA'}) ||
defined($ENV{'X_FORWARDED'}) ||
defined($ENV{'FORWARDED'}) ||
defined($ENV{'VIA'}) ||
defined($ENV{'SP_HOST'}) ||
defined($ENV{'X_LOCK'}) ||
defined($ENV{'PROXY_CON'}) )
{
$user_ip = "onbekend";
$proxy_ip = " via proxy " . $ENV{'REMOTE_ADDR'};
};
if (defined($ENV{'HTTP_X_FORWARDED_FOR'}) &&
($ENV{'HTTP_X_FORWARDED_FOR'} ne 'unknown'))
{
$user_ip = $ENV{'HTTP_X_FORWARDED_FOR'};
$proxy_ip = " via proxy " . $ENV{'REMOTE_ADDR'};
};
if (defined($ENV{'HTTP_CLIENT_IP'}) &&
($ENV{'HTTP_CLIENT_IP'} ne 'unknown'))
{
$user_ip = $ENV{'HTTP_CLIENT_IP'};
$proxy_ip = " via proxy " . $ENV{'REMOTE_ADDR'};
}
if (defined($ENV{'CLIENT_IP'}) && ($ENV{'CLIENT_IP'} ne 'unknown'))
{
$user_ip = $ENV{'CLIENT_IP'};
$proxy_ip = " via proxy " . $ENV{'REMOTE_ADDR'};
}
return $user_ip . $proxy_ip;
}
Groet,
Wimjan
--
Sleet is van vroeger, tegenwoordig gaat alles kapot.
Johan van Selst
07/08/05, 10:35
Once upon a newsgroup, Jan Smeelen claimed:
] Weet iemand hier wat het maximale aantal karakters van een IP adres is ?
] Ik meen 15 ?
Yep.
] Echter om voorbereid te zijn op de toekomst :
] De max. lengte in karakters van een IPv6 adres
] hoe lang kan die zijn ?
39 karakters.
Je kunt IP adressen ook efficienter opslaan: je hebt dan minimaal
4 bytes nodig voor een IPv4 adres en 16 bytes voor een IPv6 adres.
Ciao,
Johan
--
Ten sticks of dynamite hanging on the wall
And if one stick of dynamite should accidentally fall
There'll be no sticks of dynamite and no bloody wall