login system, virker ikke.
Jeg har et login system , jeg har dog ikke selv lavet det. fundet de fra en bog, men det virker ikke.Den kan ikke oprette en bruger:s
og er der sikkerhed i dette script?
bruger.php :
<?
class Bruger{
var $brugernavn, $kodeord;
function bruger(){
if(isset($_SESSION["brugernavn"]) && isset ($_SESSION["kodeord"]))
$this->log_ind($_SESSION["brugernavn"], $_SESSION["kodeord"]);
}
function log_ind($brugernavn, $kodeord){
$bruger_slash = addslashes($brugernavn);
$kode_slash = addslashes($kodeord);
$foresp = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$bruger_slash' AND kodeord = '$kode_slash'");
if(mysql_num_rows($foresp) == 1){
$this->brugernavn = $brugernavn;
$this->kodeord = $kodeord;
$_SESSION["brugernavn"] = $this->brugernavn;
$_SESSION["kodeord"] = $this->kodeord;
return true;
} else {
$this->log_ud();
return false;
}
}
function log_ud(){
if($this->logget_ind()){
unset($this->brugernavn);
unset($_SESSION["brugernavn"]);
unset($this->kodeord);
unset($_SESSION["kodeord"]);
return true;
} else {
return false;
}
}
function logget_ind(){
if(isset($this->brugernavn) && isset($this->kodeord))
return true;
else
return false;
}
function opret($brugernavn, $kodeord){
$bruger_slash = addslashes($brugernavn);
$kode_slash = addslashes($kodeord);
$foresp = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$bruger_slash'");
if(mysql_num_rows($foresp) != 0)
return false;
else {
mysql_query("INSET INTO bruger ".
"(brugernavn, kodeord)".
"VALUES ('$bruger_slash', ".
"$kode_slash')");
return true;
}
}
function fjern($brugernavn){
$bruger_slash = addslashes($brugernavn);
$foresp = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$bruger_slash'");
if(mysql_num_rows($foresp) != 1)
return false;
else {
mysql_query("DELETE FROM bruger ".
"WHERE brugernavn = '$bruger_slash");
return true;
}
}
function hent_brugernavn(){
if($this->logget_ind())
return $this->brugernavn;
else
return "";
}
function hent_kodeord(){
if($this->logget_ind())
return $this->kodeord;
else
return "";
}
function ret_kodeord($kodeord){
if($this->logget_ind()){
$bruger_slash = addslashes($this->brugernavn);
$kode_slash = addslashes($this->kodeord);
mysql_query("UPDATE bruger SET kodeord = '$kode_slash' HERE brugernavn = '".$bruger_slash."'");
$this->kodeord = $kodeord;
$_SESSION["kodeord"] = $kodeord;
return true;
} else
return false;
}
}
opret.php:
<?
session_start();
include "connect.php";
include "bruger.php";
?>
<html>
<body>
<?
$bruger = new bruger();
if(isset($_POST["brugernavn"]) && isset($_POST["kodeord"])){
if(get_magic_quotes_gpc()){
$brugernavn = stripslashes($_POST[brugernavn]);
$kodeord = stripslashes($_POST[kodeord]);
} else {
$brugernavn = $_POST["brugernavn"];
$kodeord = $_POST["kodeord"];
}
$bruger->opret($brugernavn, $kodeord);
echo "Brugeren " . $brugernavn . " er nu oprettet<br>";
echo "Klik <a href='logind.php'>her</a> for at logge ind.";
} else {
echo "<form method='post' action='opret.php'<br>\n";
echo "brugernavn: <input name=brugernavn type='text'><br>\n";
echo "kodeord: <input name=kodeord type='password'><br>\n";
echo "<input type=submit value=\"Opret\">";
echo "</form><br>\n";
}
?>
</body>
</html>
