Avatar billede MadsDue Nybegynder
23. oktober 2011 - 16:46 Der er 11 kommentarer og
1 løsning

Loginsystem

Hej

Jeg vil meget gerne vide, hvordan jeg laver et så sikret login system som muligt.

Når en bruger opretter sig, som bruger beder jeg om en masse informationer. Så bliver gemt på min database.

Så når bruger logger sig ind og for adgang til de sidder der kræver et logind. Så skal mine sidder også vide, at det lige præcis, er den bruger der er logget ind.

fx:

Så jeg kan byde velkommen til bruger "kat1990", på den først side og så jeg samtidigt kan følge med i min database, hvor tit han/hun bruger logger ind og hvornår de sidst har gjort det.
Avatar billede majbom Novice
23. oktober 2011 - 19:07 #1
prepared statements
krypteret passsword
sessions
og evt. krypteret forbindelse
Avatar billede MadsDue Nybegynder
23. oktober 2011 - 20:05 #2
har du nogle links der kan uddybe eller noget?
Avatar billede PeteSK Nybegynder
23. oktober 2011 - 20:34 #3
www.mysql.com

og så det programmerings sprog/script du vælger at lave det i.
Der er flere måder at gøre dette på, og mange ting at tænke over. Hvad målet er, gør også en forskel på hvordan du "bør" lave dit sikkerheds system.
Avatar billede olsensweb.dk Ekspert
24. oktober 2011 - 13:41 #4
Avatar billede MadsDue Nybegynder
11. december 2011 - 19:47 #5
Jeg har øverst på alle mine sider indsat nedenstående. Så min bruger kan logge ind. (php fil) :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="da" xml:lang="da" dir="ltr" class="js">
<head>
<script type="text/javascript">
$(document).ready(
function(){
$('#portfolio1').innerfade({
    speed: 2000,
    timeout: 6000,
    type: 'random',
    containerheight: '47px'
});
$("#webform-client-form-14 input[type='text'], .leftmenu_top input[type='text']").focus(function(){
    $(this).val("");
});
$(document).scroll(function(){
        scrollval = 551;
        scrollTop = $(document).scrollTop();
    if(scrollTop > scrollval){
    $("#navlist1").css({"position":"fixed","top":"20px"});
    }else{
    $("#navlist1").css({"position":"relative","top":"0"});
    }
});
});
</script>
<style type="text/css">
.offer {
}
.bestil{
background:url("../billeder/kontakt-os-knap_0_0.png") no-repeat left top; width:116px; height:42px; margin:15px 0 0 110px;
}
</style>
      <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div class="logind"><a title="Her kan du logge ind">Log på</a>
               
               
                   
                <p>
                    <form action="../loginsystem/kontrol.php" method="post">
                   
                    <span class="brugernavn"><input type="text" name="brugernavn" value="Brugernavn:" onfocus="if (this.value=='Brugernavn:') this.value = ''" onblur="if (this.value=='') this.value = 'Brugernavn:'"/></span><br/>

                    <span class="adgangskode"><input type="password" name="adgangskode" value="Adgangskode:" onfocus="if (this.value=='Adgangskode:') this.value = ''" onblur="if (this.value=='') this.value = 'Adgangskode:'"/></span><br>
                   
                    <input class="submit" type="Submit" value="  Ok  " />
                    </form>
                </p>
                   
                    <script id="login-effekt">
                        $('.logind').click(function () {
                        $(this).css({ borderStyle:"", cursor:"wait", background: "url(../../billeder/forside/login_boks2.png) right top", cursor: ""});
                        $("input").slideDown(300,function(){
                            $(this).css("border", "absolute")
                            .filter("")
                            .css("background", "")
                            .focus();
                            $('.logind').css("visibility", "");
                            });
                            $("span").slideDown(300,function(){
                            $(this).css("border", "")
                            .filter("")
                            .css("background", "")
                            .focus();
                            $('.logind').css("visibility", "");
                            })
                        });
                    </script>
                   
</div>
</body>

</html>


Jeg vil gerne have at når min bruger så er logget ind, så skal der bare så "logget på" og personen bliver på den samme side. og herefter kan bevæge sig på de andre sider og stadigvæk være logget på.. og at personen kan logge sig ud, lige meget hvilken side han er på.

kan i hjælpe mig med det?
Avatar billede MadsDue Nybegynder
11. december 2011 - 21:29 #6
Jeg har øverst på alle mine sider indsat nedenstående. Så min bruger kan logge ind. (php fil) :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/ (...)

<html xmlns="http://www.w3.org/ (...) lang="da" xml:lang="da" dir="ltr" class="js">
<head>
<script type="text/javascript">
$(document).ready(
function(){
$('#portfolio1').innerfade({
    speed: 2000,
    timeout: 6000,
    type: 'random',
    containerheight: '47px'
});
$("#webform-client-form-14 input[type='text'], .leftmenu_top input[type='text']").focus(function(){
    $(this).val("");
});
$(document).scroll(function(){
        scrollval = 551;
        scrollTop = $(document).scrollTop();
    if(scrollTop > scrollval){
    $("#navlist1").css({"position":"fixed","top":"20px"});
    }else{
    $("#navlist1").css({"position":"relative","top":"0"});
    }
});
});
</script>
<style type="text/css">
.offer {
}
.bestil{
background:url("../billeder/kontakt-os-knap_0_0.png") no-repeat left top; width:116px; height:42px; margin:15px 0 0 110px;
}
</style>
      <script src="http://code.jquery.com/ (...)
</head>
<body>
<div class="logind"><a title="Her kan du logge ind">Log på</a>
               
               
                   
                <p>
                    <form action="../loginsystem/kontrol.php" method="post">
                   
                    <span class="brugernavn"><input type="text" name="brugernavn" value="Brugernavn:" onfocus="if (this.value=='Brugernavn:') this.value = ''" onblur="if (this.value=='') this.value = 'Brugernavn:'"/></span><br/>

                    <span class="adgangskode"><input type="password" name="adgangskode" value="Adgangskode:" onfocus="if (this.value=='Adgangskode:') this.value = ''" onblur="if (this.value=='') this.value = 'Adgangskode:'"/></span><br>
                   
                    <input class="submit" type="Submit" value="  Ok  " />
                    </form>
                </p>
                   
                    <script id="login-effekt">
                        $('.logind').click(function () {
                        $(this).css({ borderStyle:"", cursor:"wait", background: "url(../../billeder/forside/login_boks2.png) right top", cursor: ""});
                        $("input").slideDown(300,function(){
                            $(this).css("border", "absolute")
                            .filter("")
                            .css("background", "")
                            .focus();
                            $('.logind').css("visibility", "");
                            });
                            $("span").slideDown(300,function(){
                            $(this).css("border", "")
                            .filter("")
                            .css("background", "")
                            .focus();
                            $('.logind').css("visibility", "");
                            })
                        });
                    </script>
                   
</div>
</body>

</html>


Jeg vil gerne have at når min bruger så er logget ind, så skal der bare så "logget på" og personen bliver på den samme side. og herefter kan bevæge sig på de andre sider og stadigvæk være logget på.. og at personen kan logge sig ud, lige meget hvilken side han er på.

kan i hjælpe mig med det?
Avatar billede olsensweb.dk Ekspert
12. december 2011 - 06:51 #7
prøv at se på sesssion http://dk2.php.net/session_start
test på om session er sat
hvis ikke den er sat viser du et menu punkt med logon
hvis den er sat viser du et menu punkt med logoff

alternativt kunne du bruge cookie's http://dk2.php.net/setcookie
læs feks denne tut http://www.joe2torials.com/view_tutorial.php?view=66
nb jf lovgivning skal du gøre brugeren opmærksom på du anvender cookie's og hvad du anvender det til https://www.borger.dk/Lovgivning/Hoeringsportalen/Sider/Fakta.aspx?hpid=2146002415
Avatar billede olsensweb.dk Ekspert
12. december 2011 - 13:04 #8
Avatar billede MadsDue Nybegynder
12. december 2011 - 21:16 #9
Min session code kommer her:

<?php include("../loginsystem/database.php"); ?>
<?php
  session_start();
  $brugernavn = $_REQUEST["brugernavn"];
  $adgangskode = $_REQUEST["adgangskode"];

  $sql = "SELECT count(*) FROM brugere WHERE brugernavn = '" . $brugernavn . "' AND adgangskode = '" . $adgangskode ."';";

  $resultat = mysql_query($sql);

  $post = mysql_fetch_array($resultat);

  if ($post[0] == 1) {
    $_SESSION["brugernavn"] = $brugernavn;
    header("Location: ../loginsystem/menu.php");
  } else {
   
    header("Location: ../sider/logind_fejl/forside_fejl.php?msg=Forkert-kode-eller-brugernavn");
  }
?>
Avatar billede MadsDue Nybegynder
12. december 2011 - 21:52 #10
jeg vil gerne have at det bare er log-ind.php fil som, jeg har indsat på alle mine sider, at det er der brugerne kan logge på og logge af, uden at selve siden skifter.

log-ind.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="da" xml:lang="da" dir="ltr" class="js">
<head>
<script type="text/javascript">
$(document).ready(
function(){
$('#portfolio1').innerfade({
    speed: 2000,
    timeout: 6000,
    type: 'random',
    containerheight: '47px'
});
$("#webform-client-form-14 input[type='text'], .leftmenu_top input[type='text']").focus(function(){
    $(this).val("");
});
$(document).scroll(function(){
        scrollval = 551;
        scrollTop = $(document).scrollTop();
    if(scrollTop > scrollval){
    $("#navlist1").css({"position":"fixed","top":"20px"});
    }else{
    $("#navlist1").css({"position":"relative","top":"0"});
    }
});
});
</script>

      <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div class="logind"><a title="Her kan du logge ind">Log på</a>
               
               
                   
                <p>
                    <form action="../loginsystem/kontrol.php" method="post">
                   
                    <span class="brugernavn"><input type="text" name="brugernavn" value="Brugernavn:" onfocus="if (this.value=='Brugernavn:') this.value = ''" onblur="if (this.value=='') this.value = 'Brugernavn:'"/></span><br/>

                    <span class="adgangskode"><input type="password" name="adgangskode" value="Adgangskode:" onfocus="if (this.value=='Adgangskode:') this.value = ''" onblur="if (this.value=='') this.value = 'Adgangskode:'"/></span><br>
                   
                    <input class="submit" type="Submit" value="  Ok  " />
                    </form>
                </p>
                   
                    <script id="login-effekt">
                        $('.logind').click(function () {
                        $(this).css({ borderStyle:"", cursor:"wait", background: "url(../../billeder/forside/login_boks2.png) right top", cursor: ""});
                        $("input").slideDown(300,function(){
                            $(this).css("border", "absolute")
                            .filter("")
                            .css("background", "")
                            .focus();
                            $('.logind').css("visibility", "");
                            });
                            $("span").slideDown(300,function(){
                            $(this).css("border", "")
                            .filter("")
                            .css("background", "")
                            .focus();
                            $('.logind').css("visibility", "");
                            })
                        });
                    </script>
                   
</div>
</body>

</html>


kontrol.php :
<?php include("../loginsystem/database.php"); ?>
<?php
  session_start();
  $brugernavn = $_REQUEST["brugernavn"];
  $adgangskode = $_REQUEST["adgangskode"];

  $sql = "SELECT count(*) FROM brugere WHERE brugernavn = '" . $brugernavn . "' AND adgangskode = '" . $adgangskode ."';";

  $resultat = mysql_query($sql);

  $post = mysql_fetch_array($resultat);

  if ($post[0] == 1) {
    $_SESSION["brugernavn"] = $brugernavn;
    header("Location: ../loginsystem/log-ind.php");
    echo "log ud"; //brugeren er logget ind.
  } else {
   
    header("Location: ../loginsystem/log-ind.php");
    echo "De indtastede oplysninger er ikke korrekte";
  }
?> 


Når jeg logger ind nu, så kommer man bare over på en tom side, hvor der står "log ud". i stedet for at det kommer til at stå i log-ind.php delen af den pågældende side man er på.

jeg mangler også en log ud knap, som skal også bare skal funger i log-ind.php delen af den pågældende side m brugeren nu er på.
Avatar billede MadsDue Nybegynder
14. december 2011 - 19:49 #11
Er det uforståeligt det jeg har skrevet?
Avatar billede MadsDue Nybegynder
04. november 2013 - 15:19 #12
Jeg lukker den
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
Computerworld tilbyder specialiserede kurser i database-management

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