abonnement Unibet Coolblue Bitvavo
pi_65851739
Ik ben op zoek naar een loginscript. Heb al op internet lopen zoeken, maar heb geen enkele (naar mijn smaak) kunnen vinden. Daarom vraag ik jullie om hulp!
Ik heb een site gemaakt en ik wil maar 1 deel (een paar html pagina's) beveiligen.
Zo wil ik het hebben:
In het menu klik je dus op 1 van die pagina's en dan krijg je een pagina waarbij je moet inloggen. Als je bent ingelogd keer je vervolgens "terug" naar de pagina die je te zien hoort te krijgen (dus de echte pagina die je wilde zien toen je in het menu op die pagina klikte).
Op dit moment kun je alle pagina's bekijken (dus niet steeds weer inloggen voor de verschillende beveiligde pagina's).

Loguit functie hoeft er ook niet perse op te zitten.

En het hoeft maar voor 1 gebruiker te zijn. Dus en een registratie/wachtwoord vergeten en dergelijke functies hoeven er dus niet op te zitten.

Niet met databases aub! En natuurlijk in PHP

Dus 2 php bestandjes 1 om in te loggen en 1 om de gegevens te checken (en een 3e als er een uitlogfunctie bijzit).
In de html bestandjes een "include" optie ofzo dat je eerst moet inloggen voordat je de pagina kan zien.

En nee ik ben niet lui, maar mijn PHP kennis is niet erg groot.

BVD
pi_65851838
Je bent wel lui want zo moeilijk is dat niet
  zondag 8 februari 2009 @ 16:12:24 #3
62215 qu63
..de tijd drinkt..
pi_65852052
.htacces geen optie?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_65852440
quote:
Op zondag 8 februari 2009 16:12 schreef qu63 het volgende:
.htacces geen optie?
Vertel eens...heb hier ook weinig ervaring mee
pi_65852637
het is makkelijk maar dan staat je wachtwoord en je login in een bestand opgeslagen.
ipv in de sql zelf.
Redacted
pi_65852679
quote:
Op zondag 8 februari 2009 16:27 schreef cablegunmaster het volgende:
het is makkelijk maar dan staat je wachtwoord en je login in een bestand opgeslagen.
ipv in de sql zelf.
Hij wil geen database gebruiken, dus dat probleem heb je toch al.
htaccess is een mooie en simpele oplossing!
pi_65852921
1
2
3
4
5
6
7
8
<?php
if ($_POST['wachtwoord'] == 'geheim') {
  
// succesvol ingelogd
} else {
  echo 
'Oh noes... het wachtwoord is niet goed ;-(.';
  exit;
}
?>
pi_65853191
quote:
Op zondag 8 februari 2009 16:34 schreef HuHu het volgende:

[ code verwijderd ]


dat covert het ongeveer wel
Redacted
pi_65853324
Bestand 1 kun je zelf wel hopelijk
1
2
3
4
5
6
7
8
9
10
<html>
<head><title>Inloggen</title></head>
<body>
<form method='post' action="verificatie.php">
<input type='text' name='gebruiker' /><br />
<input type='password' name='wachtwoord' /><br />
<input type='submit' value='Login' />
</form>
</body>
</html>



bestand 2 verificeren gecheckt :
als je nog problemen hebt pm.

verificatie.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
session_start
();
if (
$_POST['wachtwoord'] == 'geheim') {
  
// succesvol ingelogd
 
$_SESSION['auth']=true;
 
$_SESSION['timeout']= time()+ 30//30minuten voor hij auto uitlogt kan je zelf aanpassen
 
$_SESSION['gebruiker']= $_POST['gebruiker'];
header("location:ingelogd.php"true303);
exit();
}else{
header("location: index.php"true303);
  exit();
}
?>


bestand 3:
logout.php
1
2
3
4
5
6
<?php
session_start
();
session_unset();
session_destroy();
header("location: index.html"true 303);
?>


elk ander beveiligd bestand X:
boven elk bestand zet je dit neer.
1
2
3
4
5
6
7
<?php
session_start
();
if(!Isset(
$_SESSION['gebruiker']))
{
die( 
"Niet ingelogd! <a href=\"index.php\">klik hier</a> om naar de goeie pagina te gaan");

?>


zo kun je dus 2 voorwaarde in zetten :

in index.php kun je bvb
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
session_start();
if(IsSet($_SESSION['gebruiker']))
{
echo "Dit is beveiligde ruimte! maar staat op dezelfde pagina  ";
echo "welkom".$SESSION['gebruiker']."dat je hier mag neerzetten wat je wil   ";
?>Maar je kan er ook in html in typen   
<?php } 
if(!isset($_SESSION['gebruiker']))
{
echo "je bent niet ingelogd! maar je ziet dit wel staan";
}
?>


UPDATE sha1:
wachtwoord voor sha1 (eenmalig of hoe vaak je het wachtwoord ook wijzigt)
vul in mijnwachtwoord wat je ook maar wil.
1
2
3
4
5
<?php
$wachtwoord1 
"Mijnwachtwoord"
$wachtwoord Sha1($wachtwoord1);
echo 
$wachtwoord;
?>

dan krijg je 40 tekens eruit
bestand 2 verificeren met SHA1:
stop de 40 tekens zonder spatie op de plaats geheim met quotes.

verificatie.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
session_start
();
$wachtwoord sha1($_POST['wachtwoord']);
if (
$wachtwoord == 'geheim') {
  
// succesvol ingelogd
 
$_SESSION['auth']=true;
 
$_SESSION['timeout']= time()+ 30//30minuten voor hij auto uitlogt kan je zelf aanpassen
 
$_SESSION['gebruiker']= $_POST['gebruiker'];
header("location:ingelogd.php"true303);
exit();
}else{
header("location: index.php"true303);
  exit();
}
?>


[ Bericht 48% gewijzigd door cablegunmaster op 09-02-2009 17:22:28 ]
Redacted
pi_65853340
quote:
Op zondag 8 februari 2009 16:34 schreef HuHu het volgende:

[ code verwijderd ]
En dit moet ik bovenaan iedere html pagina zetten?
pi_65853354
quote:
Op zondag 8 februari 2009 16:45 schreef SunBoom het volgende:

[..]

En dit moet ik bovenaan iedere html pagina zetten?
nee dit werkt op 1 pagina
dus dan heb je een inlog met 1 pagina die beschermt is
Redacted
pi_65853413
login.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
session_start();

if($_SERVER['REQUEST_METHOD'] == "POST"){

   $user = "GEBRUIKERSNAAM";
   $pass = "WACHTWOORD";

   if($_POST['pass'] == $pass AND $_POST['user'] == $user){
      $_SESSION['user'] = $user;
   }
}else{
   echo "<form method='post'>
      <input type='text' name='user' /><br />
      <input type='password' name='pass' /><br />
      <input type='submit' value='Login' />
      </form>";
}
?>


Dan zet je boven elke beveiligde pagina:
1<?php if(!IsSet($_SESSION['user']){ die("Niet ingelogd!"); ) ?>


loguit.php
1<?php session_destroy(); ?>


Die is natuurlijk niet heel veilig, maar werkt wel!
pi_65853469
Oké, bedankt allemaal ik ga het even uitproberen.
  zondag 8 februari 2009 @ 16:51:55 #14
53753 BereNDD
drampo uit je raam
pi_65853535
quote:
Op zondag 8 februari 2009 16:45 schreef SunBoom het volgende:

[..]

En dit moet ik bovenaan iedere html pagina zetten?
hahaha
You're crazy in the coconut..
That boy needs therapy..
pi_65853938
quote:
Op zondag 8 februari 2009 16:49 schreef SunBoom het volgende:
Oké, bedankt allemaal ik ga het even uitproberen.
pm me als je problemen hebt
Redacted
pi_65853939
Aan dit bericht kunnen geen rechten worden ontleend.
pi_65855087
Beide scripts (van sar2007 en cablegunmaster) doen het niet.

Die van cablegunmaster geeft een parse error in verificatie.php.
En die van sar2007 geeft een error in het stukje dat je op iedere pagina moet plakken (op line 1 dus).
pi_65855500
quote:
Op zondag 8 februari 2009 17:39 schreef SunBoom het volgende:
Beide scripts (van sar2007 en cablegunmaster) doen het niet.

Die van cablegunmaster geeft een parse error in verificatie.php.
En die van sar2007 geeft een error in het stukje dat je op iedere pagina moet plakken (op line 1 dus).
heb de mijne al aangepast

recheck ?

maar wat wil je er eigenlijk opzetten?
Redacted
pi_65860371
Tip:

Sha1 al je velden al voordat je ze opgestuurd hebt (en dit dus dmv javascript). Misschien overbodig voor wat jij wil doen, maar toch een vereiste voor elke zelfrespecterend script.
pi_65861488
quote:
Op zondag 8 februari 2009 20:28 schreef Drenthe het volgende:
Tip:

Sha1 al je velden al voordat je ze opgestuurd hebt (en dit dus dmv javascript). Misschien overbodig voor wat jij wil doen, maar toch een vereiste voor elke zelfrespecterend script.
zal ik het even toepassen ?
Redacted
pi_65861531
quote:
Op zondag 8 februari 2009 20:28 schreef Drenthe het volgende:
Tip:

Sha1 al je velden al voordat je ze opgestuurd hebt (en dit dus dmv javascript). Misschien overbodig voor wat jij wil doen, maar toch een vereiste voor elke zelfrespecterend script.
Wat is het verschil tussen je wachtwoord naar een site sturen, of de SHA1 hash van je wachtwoord naar een site sturen? Ik zie niet in waarom elk "zelfrespecterend" script dat zou moeten doen en al helemaal niet waarom dat vereist zou zijn?
pi_65861686
quote:
Op zondag 8 februari 2009 21:04 schreef HuHu het volgende:

[..]

Wat is het verschil tussen je wachtwoord naar een site sturen, of de SHA1 hash van je wachtwoord naar een site sturen? Ik zie niet in waarom elk "zelfrespecterend" script dat zou moeten doen en al helemaal niet waarom dat vereist zou zijn?
ik ook niet maar het blijft grapsig stukje beveiliging dat eigenlijk nergens op slaat ^^
Redacted
  FOK!-Schrikkelbaas zondag 8 februari 2009 @ 21:10:37 #23
1972 Swetsenegger
Egocentrische Narcist
pi_65861749
quote:
Op zondag 8 februari 2009 21:04 schreef HuHu het volgende:

[..]

Wat is het verschil tussen je wachtwoord naar een site sturen, of de SHA1 hash van je wachtwoord naar een site sturen? Ik zie niet in waarom elk "zelfrespecterend" script dat zou moeten doen en al helemaal niet waarom dat vereist zou zijn?
Het gaat niet om het versturen over internet, maar als ooit je db eens gehacked zou worden. Dan staan daar in ieder geval geen plain text passwords in.
pi_65862082
quote:
Op zondag 8 februari 2009 21:10 schreef Swetsenegger het volgende:

[..]

Het gaat niet om het versturen over internet, maar als ooit je db eens gehacked zou worden. Dan staan daar in ieder geval geen plain text passwords in.
Server-side hashen is inderdaad wel een vereiste. Maar aangezien Drenthe het heeft over JavaScript voor het opsturen, ga ik er toch echt vanuit dat 'ie client-side hashen bedoeld. Dat heeft geen enkele toegevoegde waarde ten opzicht van server-side hashen en is ook nog eens vrij ongebruikelijk en niet aan te raden.
  FOK!-Schrikkelbaas zondag 8 februari 2009 @ 21:24:28 #25
1972 Swetsenegger
Egocentrische Narcist
pi_65862252
quote:
Op zondag 8 februari 2009 21:19 schreef HuHu het volgende:

[..]

Server-side hashen is inderdaad wel een vereiste. Maar aangezien Drenthe het heeft over JavaScript voor het opsturen, ga ik er toch echt vanuit dat 'ie client-side hashen bedoeld. Dat heeft geen enkele toegevoegde waarde ten opzicht van server-side hashen en is ook nog eens vrij ongebruikelijk en niet aan te raden.
Als ik clientside ga versturen naar een server, zal ik toch clientside moeten hashen om te matchen met de db. Maar ik ben met je eens dat je beter gewoon kan POSTEN en serverside de boel kan oplossen.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')