Ga naar inhoud


PHP met IP authenticatie??


Spiderman1974

Aanbevolen berichten

Hoi,

 

Ik heb een site waar mensen op kunnen inloggen. Wie kan mij nu uitleggen hoe ik alleen mensen met een bepaald ip adres kunnen inloggen?

 

Het mooiste zou zijn om ook de username te koppelen aan het ip adres via php.

 

Greetz,

Spiderman

DM800HD ~ OpenPLi

DM7000 ~ OpenPLi

DM500C ~ OpenPLi

WafeFrontier T55

13* - 19,2* - 23,5* - 28,2*

 

Link naar reactie
Delen op andere sites


Er is zeker een mogelijkheid voor, hoe kan ik je echter zo 1-2-3 niet uitleggen, dat zou ik moeten opzoeken en er zijn hier vast mensen actief die het wel uit hun hoofd weten <img src="/forums/images/graemlins/wink.gif" alt="" />

 

Ik wil je echter wel bij voorbaat 'waarschuwen' voor het 'gevaar' van dit soort (dubbele) authenticatie. Mensen met een dynamisch IP (zo'n beetje alle grote niet-KPN ADSL providers en de kabelproviders) worden zo, ook al zijn ze wel gewenst op je site, beperkt om de site te bezoeken als hun IP-adres veranderd is.

 

Brengt me gelijk op het inloggen op IP, dat is al helemaal een veiligheidsrisico (ik neem aan dat dat inloggen niet niets is) als een toevallige voorbijganger die het IP van een van je vaste bezoekers heeft omdat hij dat toevallig dynamisch kreeg toegewezen je site dan bezoekt is hij automatisch ingelogd.

 

Als je wil dat mensen ingelogd blijven, kun je beter met cookies werken.

Na jaren zonder, ben ik toch weer van plan een schotel aan te schaffen.

Link naar reactie
Delen op andere sites

Anders kun je dus een database aanmaken (gebruikers) waar je je gebruikers inzet:

3 rows

Row 1: id (Autoincrement) int(10)

Row 2: naam varchar(20)

Row 3: ip varchar(15)

 

Laat Row 1 leeg

Vul Row 2 met: Jantje

Vul Row 3 met: 123.123.123.123

 

Voeg de volgende source aan je index.php toe:

<?

$ipadres = getenv(REMOTE_ADDR);

mysql_connect("localhost","sql_loginnaam","sql_wachtwoord");

mysql_select_db("sql_databasenaam") or die("Unable to select database");

$query = "SELECT * FROM gebruikers WHERE ip='$ipadres'";

$numresults=mysql_query($query);

$numrows=mysql_num_rows($numresults);

 

if ($numrows == 0)

{

echo "Onbekend.....<BR>";

}

$result = mysql_query($query) or die("Query kan niet uitgevoerd worden");

while ($row = mysql_fetch_array($result)) {

?>

De rest van de pagina =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

<?

}

?>

 

Nu kun je niet meer op je site komen.

Zet je nu je naam en ip adres in de database kun je er weer wel op komen.

 

Om de naam te laten weergeven doe je zoiets als:

<?echo row[naam];?>

 

Ik hoop dat je hier iets mee kunt...

 

 

Link naar reactie
Delen op andere sites

Citaat:
Heb je eventueel een SQL database ter beschikking?


Hoi,

Sorry voor mijn late reactie.
Ik heb idd wel een mysql database tot mijn beschikking echter in databases ben ik nog geen kei maar ik ga er eens mee aan de slag.

Als je nog eventueel tips hebt hoor ik dat graag van je. <img src="/forums/images/graemlins/xyxthumbs.gif" alt="" />

DM800HD ~ OpenPLi

DM7000 ~ OpenPLi

DM500C ~ OpenPLi

WafeFrontier T55

13* - 19,2* - 23,5* - 28,2*

 

Link naar reactie
Delen op andere sites

Code:
<?php

// Een array met ip addressen, als je meer IP addressen wilt tovoegen kan je

// het als volgt doen:

// $ipaddressen = array('127.0.0.1', '123.123.123.123', '321.321.321.321');

$ipaddressen = array('127.0.0.1');

// Vraag het ip adres van de bezoeker (werkt niet als je achter een proxy zit)

// en zie in $ipaddressen of de gebruiker toegang heeft

if (in_array($_SERVER['REMOTE_ADDR'], $ipaddressen)):

// Laat een bericht zien, je kan ook een header redirect doen naar een

// andere url

echo "Welcome op mijn site";

else:

// Laat een bericht zien, je kan ook een header redirect doen naar een

// andere url

echo "Je hebt heen toegang tot mijn site";

endif;

?>

Link naar reactie
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...