Kent er iemand een functie waarmee ge de IP's kunt zien van de computers die op een bepaalde pagina gaan (van bv. iedereen die een bericht op een gastenboek post) ?
Kunt ge dat ook met $_SERVER[] doen? En wat moet er dan tussen die haken?
IP's registreren
- The Oddity
- Elite Poster
- Berichten: 5008
- Lid geworden op: 15 sep 2002, 17:58
- Locatie: Belgium, Ghent
- Contacteer:
Als ik mij niet vergis bestaan er verscheidene methodes, maar dit werkt:
Dat zou het moeten doen.
Have fun.
Code: Selecteer alles
{$_SERVER['REMOTE_ADDR']}
Have fun.
I love it when a plan comes together!
- meon
- Administrator
- Berichten: 16757
- Lid geworden op: 18 feb 2003, 22:02
- Twitter: meon
- Locatie: Bree
- Uitgedeelde bedankjes: 582 keer
- Bedankt: 780 keer
Da's geen functie maar een servervariabele ja:
Je kan het adres van een bezoeker te weten komen met
of de verkorte versie met enkel $_SERVER (afhankelijk van de php-versie.
Het opslaan van die gegevens zal wel lukken zeker?
Je kan het adres van een bezoeker te weten komen met
Code: Selecteer alles
<? echo $HTTP_SERVER_VARS['REMOTE_ADDR'] ?>
Het opslaan van die gegevens zal wel lukken zeker?
- Pi R²
- Elite Poster
- Berichten: 811
- Lid geworden op: 03 jan 2003, 17:15
- Locatie: Sint-Niklaas
- Contacteer:
Allemaal bedankt. Ja, opslaan van gegevens das toch altijd hetzelfde, da lukt wel. Alleen wat erin moet, das altijd ff zoeken naar hoe ge daar allemaal aankomt.
Lang Leve Mijn Eigen! Het geheim voor een lang leven: niet stoppen met ademen
- All Your Base
- Plus Member
- Berichten: 190
- Lid geworden op: 17 sep 2002, 11:57
kijk ook de gethostbyaddr() functie eens na, kan handig zijn...
http://www.php.net/manual/en/function.gethostbyaddr.php
http://www.php.net/manual/en/function.gethostbyaddr.php
Er zijn verschillende manieren maar $_SERVER['REMOTE_ADDR']; en $_SERVER['HTTP_X_FORWARDED_FOR']; zijn de belangrijkste, waarom, een proxy:
if($_SERVER['HTTP_X_FORWARDED_FOR'] != NULL)
{
echo "door de proxy (".gethostbyaddr($_SERVER['REMOTE_ADDR']).") getrokken, uw ip is ".$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
echo "gene proxy en uw ip is ".$_SERVER['REMOTE_ADDR'];
}
simpel toch :)
if($_SERVER['HTTP_X_FORWARDED_FOR'] != NULL)
{
echo "door de proxy (".gethostbyaddr($_SERVER['REMOTE_ADDR']).") getrokken, uw ip is ".$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
echo "gene proxy en uw ip is ".$_SERVER['REMOTE_ADDR'];
}
simpel toch :)
-
- Starter
- Berichten: 8
- Lid geworden op: 09 mei 2003, 20:48
Hei,
heb in mijn guestbook ook gezorgd dat ik het ip-adres krijg van degene die erin posten (deze laat ik wel niet zien, maar is enkel voor mij zodat ik weet wie de heriestokers zijn).
Probleem: mijn server/webruimte voor mijn gb is op lycos.nl. Nu wanneer ik mijn tabel nakijk, zie ik dat elke ip-adres praktisch hetzelfde is (heb ook ene van duitsland er laten in schrijven en ip-adres verschillede enkel het laatste cijfer ). En wanneer ik erin schreef klopt het ip-adres ook niet met wat ik heb. Komt dit door lycos of heb ik iets verkeerd gedaan????
ik gebruik het volgende voor het ip-adres te verkrijgen:
$ip = getenv("REMOTE_ADDR");
Kan iemand me helpen???
Thnx
Bye
heb in mijn guestbook ook gezorgd dat ik het ip-adres krijg van degene die erin posten (deze laat ik wel niet zien, maar is enkel voor mij zodat ik weet wie de heriestokers zijn).
Probleem: mijn server/webruimte voor mijn gb is op lycos.nl. Nu wanneer ik mijn tabel nakijk, zie ik dat elke ip-adres praktisch hetzelfde is (heb ook ene van duitsland er laten in schrijven en ip-adres verschillede enkel het laatste cijfer ). En wanneer ik erin schreef klopt het ip-adres ook niet met wat ik heb. Komt dit door lycos of heb ik iets verkeerd gedaan????
ik gebruik het volgende voor het ip-adres te verkrijgen:
$ip = getenv("REMOTE_ADDR");
Kan iemand me helpen???
Thnx
Bye
- Pi R²
- Elite Poster
- Berichten: 811
- Lid geworden op: 03 jan 2003, 17:15
- Locatie: Sint-Niklaas
- Contacteer:
getenv(); , ik zou niet weten voorwat dat dient, maar ik geberuikt:
Je moet er ook voor zorgen dat je in je mysql tabel een gewone tekst, blob-kolom gebruikt, geen numeriek kolomtype.
Code: Selecteer alles
$ip = $_SERVER["REMOTE_ADDR"]
Lang Leve Mijn Eigen! Het geheim voor een lang leven: niet stoppen met ademen
- meon
- Administrator
- Berichten: 16757
- Lid geworden op: 18 feb 2003, 22:02
- Twitter: meon
- Locatie: Bree
- Uitgedeelde bedankjes: 582 keer
- Bedankt: 780 keer
Blob dient niet om tekst op te slaan! Blob is om binaire gegevens op te slaan. Als je dan toch tekens wilt opslaan is "text" meer geschikt (is uiteindelijk even groot, maar dient voor tekst-tekens).Pi R² schreef:getenv(); , ik zou niet weten voorwat dat dient, maar ik geberuikt:
Je moet er ook voor zorgen dat je in je mysql tabel een gewone tekst, blob-kolom gebruikt, geen numeriek kolomtype.Code: Selecteer alles
$ip = $_SERVER["REMOTE_ADDR"]
Maar voor een ip op te slaan zou ik varchar(15) gebruiken, dat is voldoende (IPv5-adressen worden toch nooit langer dan 15 tekens - xxx.xxx.xxx.xxx).
getenv() dient om gegevens op te vragen uit omgevingsvariabelen. Correcter gebruik zou zijn $_ENV["REMOTE_ADDR"]. Normaal gezien is dit hetzelfde resultaat als $_SERVER["REMOTE_ADDR"].
Wat je kan doen om eens te kijken wat het IP-adres in je DB écht is, is de ip-adressen eens tracen (in een dos-venster "tracert xxx.xxx.xxx.xxx"). Of je bouwt dit ook in in je gastenboek. In php vraag je dan:
Code: Selecteer alles
gethostbyaddr($_SERVER["REMOTE_ADDR"])
-
- Starter
- Berichten: 8
- Lid geworden op: 09 mei 2003, 20:48
hei,
alvast bedankt.
$ip = gethostbyaddr($_SERVER["REMOTE_ADDR"]); werkt dus ongeveer wel. Heb het bij mijn eigen geprobeerd. Het rare is nu wel het volgende:
Heb in mijn tabel gekeken, en daar stond
60.61-200-80.adsl.sk terwijl mijn ip op dat moment
ip-adres van server 80.200.61.1
en ip-adres van client 80.200.61.60
het zal dus wel van het tweede zijn, maar dan omgekeerd. Is dit normaal??? of moet het toch nog iets anders.
Ik ga terwijl nog wat proberen uit te vissen.
thnx
bye
btw, kunnen hier geen attachements worden gezet???
alvast bedankt.
$ip = gethostbyaddr($_SERVER["REMOTE_ADDR"]); werkt dus ongeveer wel. Heb het bij mijn eigen geprobeerd. Het rare is nu wel het volgende:
Heb in mijn tabel gekeken, en daar stond
60.61-200-80.adsl.sk terwijl mijn ip op dat moment
ip-adres van server 80.200.61.1
en ip-adres van client 80.200.61.60
het zal dus wel van het tweede zijn, maar dan omgekeerd. Is dit normaal??? of moet het toch nog iets anders.
Ik ga terwijl nog wat proberen uit te vissen.
thnx
bye
btw, kunnen hier geen attachements worden gezet???
-
- Starter
- Berichten: 8
- Lid geworden op: 09 mei 2003, 20:48
allez, het is niet meer nodig
als je $ip = $_SERVER["REMOTE_ADDR"]; doet in plaats van $ip = gethostbyaddr($_SERVER["REMOTE_ADDR"]); krijg je het ip-adres
thnx anyway
bye
als je $ip = $_SERVER["REMOTE_ADDR"]; doet in plaats van $ip = gethostbyaddr($_SERVER["REMOTE_ADDR"]); krijg je het ip-adres

thnx anyway
bye
- meon
- Administrator
- Berichten: 16757
- Lid geworden op: 18 feb 2003, 22:02
- Twitter: meon
- Locatie: Bree
- Uitgedeelde bedankjes: 582 keer
- Bedankt: 780 keer
Jaja 
die gethostbyaddr() dient om een dns-lookup te doen van een ip-adres. In dit geval wordt 80.200.61.1 omgezet naar 60.61-200-80.adsl.skynet.be (dat is de dns-naam van dat ip-adres). Ik gaf dat als tussenoplossing omdat je zegt dat het lijkt alsof alle ip-adressen hetzelfde zijn. Als je de dns-naam ziet kan je meestal snel afleiden uit welk land de bezoekers komen en welke provider ze gebruiken.
En nee, de attachment mod is niet op dit forum geïnstalleerd, en ik betwijfel of dat wel ooit zal komen.

die gethostbyaddr() dient om een dns-lookup te doen van een ip-adres. In dit geval wordt 80.200.61.1 omgezet naar 60.61-200-80.adsl.skynet.be (dat is de dns-naam van dat ip-adres). Ik gaf dat als tussenoplossing omdat je zegt dat het lijkt alsof alle ip-adressen hetzelfde zijn. Als je de dns-naam ziet kan je meestal snel afleiden uit welk land de bezoekers komen en welke provider ze gebruiken.
En nee, de attachment mod is niet op dit forum geïnstalleerd, en ik betwijfel of dat wel ooit zal komen.
- Erik
- Elite Poster
- Berichten: 1321
- Lid geworden op: 15 sep 2002, 02:46
- Uitgedeelde bedankjes: 2 keer
- Bedankt: 18 keer
getenv(); haalt een envirement variable op $SERVER_PORT ,SERVER_SOFTWARE etc etcPi R² schreef:getenv(); , ik zou niet weten voorwat dat dient, maar ik geberuikt:
Je moet er ook voor zorgen dat je in je mysql tabel een gewone tekst, blob-kolom gebruikt, geen numeriek kolomtype.Code: Selecteer alles
$ip = $_SERVER["REMOTE_ADDR"]
de $_SERVER is de nieuwste manier om dit soort zaken te doen
attachement mod ? nee en wij hebben ook geen plannen om dit in de toekomst gaan te installeren
greetz
Erik
Registered Linux user #286313