Avatar billede thecarfacekiller Nybegynder
11. oktober 2009 - 22:40 Der er 2 kommentarer og
1 løsning

PHP login system

Jeg har fået til opgave at lave et login system som gør følgene:

Hvis man skriver forkert username/password 5 gange bliver man IP bannet, og ført til en access denied page.

Er der nogen der kan hjælpe med dette.
Jeg har lavet login siden. Mangler dog at kode til man bliver IP bannet og ført til en access denied side.

Tak på forhånd
Avatar billede rotco Juniormester
11. oktober 2009 - 23:00 #1
Well... Når du snakker php loginsystem så håber jeg vi samtidig snakker mysql?

Mit forslag:

Hvis der bliver forsøgt at blive logget ind og det er forkert, så smider du en række ind i en tabel i din database hvor du gemmer IP'en og for hver gang der bliver tastet forkert af en bruger med den IP, så har du så et felt der hedder "antal" som så stiger +1 for hver gang...

Det jeg så ville gøre var at når tallet ramte 5 gange, så bliver man smidt over på en side hvor der står access denied, eller ingen adgang!

Du skal så naturligvis huske at chekke antallet af forkerte for den IP før den forsøger at få adgang, så man ikke lige får en ekstra tur ;-)

Det skulle være ekstremt let og ligetil, med mindre du er helt grøn? :-)
Avatar billede thecarfacekiller Nybegynder
11. oktober 2009 - 23:04 #2
Nu havde jeg lidt håbet på nogle eksempler. Da jeg ikke har så meget forstand på php :D

Og ja når jeg snakker om php, snakker jeg også om mysql :D
Avatar billede thecarfacekiller Nybegynder
11. oktober 2009 - 23:08 #3
Hvis dette kunne hjælpe lidt:

<?php
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="members"; // Table name


mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];


$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);


$count=mysql_num_rows($result);


if($count==1){
"login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester