13. december 2005 - 19:11Der er
9 kommentarer og 1 løsning
Få dette sat rigtigt sammen
Hejsa
Jeg har lavet et admin login system, som jeg er ved at prøve at lave lidt mere sikkert. Det er sådan nu at alle kan prøve at skrive brugernavn og kode, men jeg vil gerne have at den først tjekker om ens ip passer sammen med en af admin brugernes ip (Som står i databasen). hvis den er, så skal den kode jeg har skrevet i bunden bare vises, men hvis ikke skal den skrive at man ikke har adgang, med mindre man har koden til admin-login siden, altså hvis man har den kode kan man skrive den også derefter skal man logge ind med sit brugernavn og kode.
Håber i har forstået mig, da jeg ikke selv lige kan krængle den i hoved, ´med hvordan det skal opsættes.
if(!empty($_SESSION['adminid'])) { echo "velkommen til amdin"; } else {
echo '<p>Der er påkrævet login på denne side. Det er kun administratorer der har adgang. Hvis du er administrator, så skriv dit brugernavn og kode for at logge in.</p>'; echo '<form method="POST" action="'.$style['site']['uri'].'" enctype="multipart/form-data">'; if(!empty($_POST['username']) AND !empty($_POST['password'])) { $password = md5($_POST['password']); $result = mysql_query("SELECT * FROM mp_admins WHERE username = '$_POST[username]' AND password = '$password'") or die(mysql_error());
Men ellers så tror jeg måske der kan være en løsning her:
$q = mysql_query("SELECT COUNT(*) FROM mp_admins WHERE ip = '".$_SERVER['REMOTE_ADDR']."'") or die(mysql_error()); if(!empty($_SESSION['adminid']) && mysql_result($q, 0) > 0) { echo "velkommen til amdin"; } else {
echo '<p>Der er påkrævet login på denne side, samt du skal have den rigtige ip-adresse. Det er kun administratorer der har adgang. Hvis du er administrator, så skriv dit brugernavn og kode for at logge in.</p>'; echo '<form method="POST" action="'.$style['site']['uri'].'" enctype="multipart/form-data">'; if(!empty($_POST['username']) AND !empty($_POST['password'])) { $password = md5($_POST['password']); $result = mysql_query("SELECT * FROM mp_admins WHERE username = '$_POST[username]' AND password = '$password'") or die(mysql_error());
Nåå, så forstod jeg det omvendt. Men hvis den alligevel opdaterer ip'en til brugeren der logger ind, og bagefter tjekker på den, så vil den jo altid være rigtig?
Hmm.. Det er sådan at hvis min ip passer med en i databasen, så skal jeg bare skrive brugernavn og kode.
Hvis min ip så ikke passer med en i databasen, så skal jeg først skrive en "kom til admin login siden"-kode, hvis den er rigtig, så vil jeg opdatere den nye ip i databasen, så det er fra den nye ip den tjekker næste gang. Derefter skal man skrive brugernavn og kode, for at komme helt ind.
Aha, men det kan jeg ikke se giver nogen som helst bedre sikkerhed, end bare brugernavn og adgangskode, da det egentlig alligevel kun er de 2 der giver dig adgangen?!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.