Pagina 1 van 1

IP's registreren

Geplaatst: 22 feb 2003, 14:02
door Pi R²
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?

Geplaatst: 22 feb 2003, 14:08
door The Oddity
Als ik mij niet vergis bestaan er verscheidene methodes, maar dit werkt:

Code: Selecteer alles

{$_SERVER['REMOTE_ADDR']}
Dat zou het moeten doen.

Have fun.

Geplaatst: 22 feb 2003, 14:10
door meon
Da's geen functie maar een servervariabele ja:

Je kan het adres van een bezoeker te weten komen met

Code: Selecteer alles

<? echo $HTTP_SERVER_VARS['REMOTE_ADDR'] ?>
of de verkorte versie met enkel $_SERVER (afhankelijk van de php-versie.

Het opslaan van die gegevens zal wel lukken zeker?

Geplaatst: 22 feb 2003, 14:40
door Pi R²
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.

Geplaatst: 24 feb 2003, 18:58
door All Your Base
kijk ook de gethostbyaddr() functie eens na, kan handig zijn...

http://www.php.net/manual/en/function.gethostbyaddr.php

Geplaatst: 24 feb 2003, 20:30
door airzimmy
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 :)

Geplaatst: 09 mei 2003, 21:57
door Spirit Wolf
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

Geplaatst: 09 mei 2003, 23:07
door Pi R²
getenv(); , ik zou niet weten voorwat dat dient, maar ik geberuikt:

Code: Selecteer alles

$ip = $_SERVER["REMOTE_ADDR"]
Je moet er ook voor zorgen dat je in je mysql tabel een gewone tekst, blob-kolom gebruikt, geen numeriek kolomtype.

Geplaatst: 10 mei 2003, 00:27
door meon
Pi R² schreef:getenv(); , ik zou niet weten voorwat dat dient, maar ik geberuikt:

Code: Selecteer alles

$ip = $_SERVER["REMOTE_ADDR"]
Je moet er ook voor zorgen dat je in je mysql tabel een gewone tekst, blob-kolom gebruikt, geen numeriek kolomtype.
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).
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"])
Het zou kunnen dat de 'fout' ligt aan lycos, maar dan zou ik dat toch iets vreemds vinden. Ben je zeker dat je zelf nergens iets fouts opslaat?

Geplaatst: 10 mei 2003, 13:33
door Spirit Wolf
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???

Geplaatst: 10 mei 2003, 13:41
door Spirit Wolf
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

Geplaatst: 10 mei 2003, 16:48
door meon
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.

Geplaatst: 10 mei 2003, 17:04
door Erik
Pi R² schreef:getenv(); , ik zou niet weten voorwat dat dient, maar ik geberuikt:

Code: Selecteer alles

$ip = $_SERVER["REMOTE_ADDR"]
Je moet er ook voor zorgen dat je in je mysql tabel een gewone tekst, blob-kolom gebruikt, geen numeriek kolomtype.
getenv(); haalt een envirement variable op $SERVER_PORT ,SERVER_SOFTWARE etc etc

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