login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Beveiliging > Inlog script


Reacties op het script Inlog script

Offline  haytjes
Gepost op: 20 januari 2006 - 17:49
Gouden medailleGouden medaille

JS gevorderde




deze script is niet veilig. Ik hoop dat je weet dat je $_COOKIE gemakkelijk kan faken. DUS
  1. <?php
  2. if(isset($_COOKIE['adminpass'])){header("location: loggedin/");}
  3. ?>


veranderen in iets met een echt paswoord.
vb.
  1. <?php
  2. if(isset($_COOKIE['adminpass']) && $_COOKIE['adminpass'] ==$passadmin)){header("location: loggedin/");}
  3. ?>


Offline  GTW
Gepost op: 21 januari 2006 - 19:08
Gouden medaille

PHP gevorderde




oke thnx... ik al er binnenkort even naar kijken. Ik wist idd nog niet dat je $_COOKIE makkelijk kon faken...:s

Offline  haytjes
Gepost op: 22 januari 2006 - 14:42
Gouden medailleGouden medaille

JS gevorderde




'k heb gezien dat je al een paar dingen heb aangepast, maar de script die er nu staat werkt langs geen kanten. Ik zou opteren voor:

config.php
  1. <?
  2. $loginadmin = "admin";
  3. $passadmin = "test";
  4. ?>


index.php
  1. <?
  2. include "config.php";
  3. if(isset($_COOKIE['adminpass']) && $_COOKIE['adminpass'] == $passadmin)){header("location: loggedin/");}
  4. ?><html>
  5. <head>
  6. ...


pass.php
  1. <?
  2. include "config.php";
  3.  
  4. $naam = $_POST['usrnaam'];
  5. $pass = $_POST['adminpassw'];
  6.  
  7. if(($naam=="" OR $naam==null) OR ($pass=="" OR $pass==null))
  8. {
  9. include("index.php");
  10. echo "<b><font color=red>1 of meer velden zijn niet ingevuld!</font></b>";
  11. exit();
  12. }
  13. if(($naam==$loginadmin)AND($pass==$passadmin))
  14. {
  15. setcookie("adminpass",$naam,"0","/loggedin/");
  16. header("location: loggedin/");
  17. }
  18. elseif(!isset($_COOKIE["adminpass"]))
  19. {
  20. include("index.php");
  21. echo "<b><font color=red>Dit is niet correct!</font></b>";
  22. }
  23. ?>


test.php
  1. <?
  2. include "../config.php";
  3. if(isset($_COOKIE['adminpass']) && $_COOKIE['adminpass'] ==$passadmin)){"";}
  4. else { header(location:"forcedout.php");}
  5. ?>

Offline  GTW
Gepost op: 23 januari 2006 - 12:01
Gouden medaille

PHP gevorderde




okee, dus het script kan ook altijd via de config.php weten dat de loginnaam en password "admin" en "test" zijn. Dan zal ik dat thuis even aanpassen... alvast bedankt..

Offline  GTW
Gepost op: 23 januari 2006 - 14:55
Gouden medaille

PHP gevorderde




Maar klopt de cookie nu wel? De value van de cookie stata nu namelijk op $naam. En in de test.php kijkt hij of de cookie gelijk is aan $passadmin...  . Alleen weet ik nog niet hoe je meerdere waarden in een cookie kunt zetten en er dan maar 1 uit kunt lezen...

Offline  haytjes
Gepost op: 23 januari 2006 - 20:20
Gouden medailleGouden medaille

JS gevorderde




voor meerdere cookies:
  1. <?
  2. ...
  3. setcookie("adminuser",$naam,"0","/loggedin/");
  4. setcookie("adminpass",$pass,"0","/loggedin/");
  5. ...
  6. ?>

voor de cookies uit te lezen:
  1. <?
  2. ...
  3. $user = $_COOKIE['adminuser'];
  4. $pass = $_COOKIE['adminpass'];
  5. ...
  6. ?>


en je hebt idd gelijk, de setcookie van adminpass moet de paswoord zetten en niet de username.

Offline  GTW
Gepost op: 23 januari 2006 - 23:05
Gouden medaille

PHP gevorderde




okeey, dan zal ik dat zsm toepassen.
En nogmaals gigantisch bedankt voor je hulp. Ik heb er veel van geleerd. 

Offline  haytjes
Gepost op: 28 januari 2006 - 10:56
Gouden medailleGouden medaille

JS gevorderde




bij de codes van loggedin staat:
  1. <?
  2. include("test.php");
  3. ?>


maar 'k vind test.php nergens meer. Ook zou ik dat ergens een andere naam geven:

auth.php
check_auth.php
logged_in.php
...

Offline  GTW
Gepost op: 29 januari 2006 - 15:29
Gouden medaille

PHP gevorderde




Dat heb ik nu allemaal veranderd. Ik heb test.php auth.php genoemd en dat je test.php niet kon vinden was alleen een foutje in het overnemen. :S
Maar nu heb ik dat als ik ingelogd ben en ik wil uitloggen dat er een pagina komt dat "loggedout.php" niet bestaat. Terwijl die er toch echt staat. Ik heb ook de links allemal getest en alles klopt ook qua hoofdletters enzo.

Offline  haytjes
Gepost op: 30 januari 2006 - 20:08
Gouden medailleGouden medaille

JS gevorderde




inderdaad, je wordt niet meer uitgelogd, gemakkelijk aan te passen:

de setcookie ook een path meegeven:
  1. <?
  2. setcookie("adminpass","",time()-3600);
  3. // moet je veranderen in: (dit moet je doen op 4 plaatsen)
  4. setcookie("adminpass","",time()-3600,"/");
  5. ?>

Offline  GTW
Gepost op: 31 januari 2006 - 11:12
Gouden medaille

PHP gevorderde




Okee, ik heb hem veranderd en nu werkt alles goed. 

Offline  Ultimatum
Gepost op: 01 februari 2006 - 13:46
PHP expert



denk niet dat je je voorbeeld hebt aangepast want het werkt nog steeds niet 

Offline  GTW
Gepost op: 01 februari 2006 - 19:26
Gouden medaille

PHP gevorderde




Bij mij doet ie het toch echt helemaal normaal... Het inloggen, het ingelogd blijven en het uitloggen...
De login is wel een kleine beginletter (dus admin, niet Admin)

Offline  djmatti
Gepost op: 20 mei 2006 - 13:51
HTML interesse



doet het opzich goed:!:
maar ik kan alleen inlogen met username: admin en pasword: test
maar hoe moet ik dat veranderren bij config.php:?: 

Offline  GTW
Gepost op: 20 mei 2006 - 17:09
Gouden medaille

PHP gevorderde




Die moet je gewoon veranderen in de naam en wachtwoord die jij wilt. dus het script klaarmaken, en die 2 regels in config.php wijzigen. Dan gebruikt het gehele script die naam en ww

Offline  djmatti
Gepost op: 23 mei 2006 - 13:49
HTML interesse



maar hoe moet het dan met meerdere persoonen
dat wat jij zegt weet ik..
alleen beetje kneuzige vraag gesteld ik
ik wil weten hoe je meerdere kan..

als ik
<?php
$loginadmin = "webmaster";
$passadmin = "demo";
?>

<?php
$loginadmin = "webmaster";
$passadmin = "demo";
?>

doe doet het maar 1

:s

Offline  GTW
Gepost op: 23 mei 2006 - 13:56
Gouden medaille

PHP gevorderde




dan moet je denk ik een array gaan maken.
en dan met een for of while loop uitlezen. kijken of die dan gelijk is

vb.
  1. config.php
  2. <?php
  3. $loginadmin[0] = "webmaster";
  4. $passadmin[0] = "demo";
  5. $loginadmin[1] = "admin";
  6. $passadmin[1] = "test";
  7. ?>
  8.  
  9. uitlezen
  10.  
  11. <?php
  12. $combo = 0;
  13. while($combo=<1){
  14. // uitleesfunctie
  15. $combo++;
  16. }
  17. ?>

Die 1 in de while loop is de maximale array die je in config hebt.

hopelijk werkt dit

Offline  djmatti
Gepost op: 23 mei 2006 - 14:16
HTML interesse



dat uitlezen
dat moet ik dan zeker veranderen bij pass.php of niet..

Offline  GTW
Gepost op: 23 mei 2006 - 14:17
Gouden medaille

PHP gevorderde




ja idd

Offline  djmatti
Gepost op: 23 mei 2006 - 14:18
HTML interesse



moet ik dat dan overnemen en bij pass.php zetten
of moet ik het in het script zelf zetten?:?:
hoe komt dan pass.php eruit te zien?

Offline  GTW
Gepost op: 23 mei 2006 - 14:24
Gouden medaille

PHP gevorderde




Pass.php
  1. <?
  2. include ("config.php");
  3.  
  4. $naam = $_POST['usrnaam'];
  5. $pass = $_POST['adminpassw'];
  6.  
  7. if(($naam=="" OR $naam==null) OR ($pass=="" OR $pass==null))
  8. {
  9. include "index.php";
  10. echo "<b><font color=red><div align=center>1 of meer velden zijn niet ingevuld!</div></font></b>";
  11. exit();
  12. }
  13. $num = 0;
  14. while($num=<1){
  15. if(($naam==$loginadmin[$num])AND($pass==$passadmin[$num]))
  16. {
  17. setcookie("adminuser",$naam[$num],"0","/");
  18. setcookie("adminpass",$pass[$num],"0","/");
  19. header("location: loggedin/index.php");
  20. }
  21. $num++;
  22. }
  23. if(!isset($_COOKIE["adminpass"])OR(!isset($_COOKIE["adminuser"])))
  24. {
  25. include "index.php";
  26. echo "<b><font color=red><p align=center>Dit is niet correct!</p></font></b>";
  27. }
  28. ?>


Auth.php
  1. <?
  2. $user = $_COOKIE['adminuser'];
  3. $passw = $_COOKIE['adminpass'];
  4. include "../config.php";
  5. $num = 0;
  6. while($num=<1){
  7. if(isset($_COOKIE['adminpass']) AND $_COOKIE['adminpass'] ==$passadmin[$num]){"";}
  8. if(isset($_COOKIE['adminuser']) AND $_COOKIE['adminuser'] ==$loginadmin[$num]){"";}
  9. $num++;
  10. }
  11. if(!isset($_COOKIE['adminpass'])OR(!isset($_COOKIE['adminuser'])))
  12. { header("location: forcedout.php");}
  13. ?>


als het goed is, werkt dit.

Offline  djmatti
Gepost op: 23 mei 2006 - 14:31
HTML interesse



hij doet het niet
als ik wil inloggen blijft hij hangen op een wit scherm..

Offline  GTW
Gepost op: 23 mei 2006 - 14:33
Gouden medaille

PHP gevorderde




paar kleine edits gedaan. misschien doet ie het nu...
een $num++ te laat gezet enzo...
Ik moet zo gaan, als het echt niet lukt, moet je maar ff mailen.

Offline  djmatti
Gepost op: 23 mei 2006 - 14:38
HTML interesse



het lukt egt niet kan je niet ff zelf voordat je hem erop zt
ff kijken of hij het doet
...

Offline  GTW
Gepost op: 23 mei 2006 - 15:48
Gouden medaille

PHP gevorderde




Ik zal wel ff kijken of het me lukt, moet ik alleen ff op de andere pc zitten. ik wilde wel testen, maar hier heb ik geen server runnen.

Edit:
hebbes:
  1. ######
  2. config.php
  3. ######
  4. <?php
  5. # login 1
  6. $loginadmin[0] = "admin";
  7. $passadmin[0] = "test";
  8. # login 2
  9. $loginadmin[1] = "webmaster";
  10. $passadmin[1] = "demo";
  11.  
  12. // aantal logins
  13. $aantal_logins = 2;
  14. // zo kun je dus nog meer users toevoegen door:
  15. /*
  16. $loginadmin[2] = "blaat";
  17. $passadmin[2] = "blaat";
  18. en dan het aantal_logins 1 omhoog te doen
  19. */
  20. ?>
  21.  
  22. ######
  23. pass.php
  24. ######
  25.  
  26. <?
  27. include ("config.php");
  28.  
  29. $naam = $_POST['usrnaam'];
  30. $pass = $_POST['adminpassw'];
  31.  
  32. if(($naam=="" OR $naam==null) OR ($pass=="" OR $pass==null))
  33. {
  34. include "index.php";
  35. echo "<b><font color=red><div align=center>1 of meer velden zijn niet ingevuld!</div></font></b>";
  36. exit();
  37. }
  38. $start = 0;
  39. while($start<$aantal_logins){
  40. if(($naam==$loginadmin[$start])and($pass==$passadmin[$start]))
  41. {
  42. setcookie("adminuser",$naam,"0","/");
  43. setcookie("adminpass",$pass,"0","/");
  44. header("location: loggedin/index.php");
  45. break;
  46. }
  47. else{
  48. $start++;
  49. }
  50. }
  51. if(!isset($_COOKIE["adminpass"])OR(!isset($_COOKIE["adminuser"])))
  52. {
  53. include "index.php";
  54. echo "<b><font color=red><p align=center>Dit is niet correct!</p></font></b>";
  55. }
  56. ?>

Offline  djmatti
Gepost op: 29 mei 2006 - 15:24
HTML interesse



hij doet het goed bedankt!!!:!:

Offline  djmatti
Gepost op: 01 juni 2006 - 15:14
HTML interesse



nu nog w88 dat de server het doet om alles uit te testen

Offline  GTW
Gepost op: 01 juni 2006 - 15:21
Gouden medaille

PHP gevorderde




de mybesthost.com server of cjb..
btw. dat is mijn avatar  

Offline  Madskillz28T
Gepost op: 01 juni 2006 - 15:24
Nieuw lid



hahaha kerel zijn avatar jatten (>'-_-)>

Offline  djmatti
Gepost op: 01 juni 2006 - 17:46
HTML interesse



srry
vind hem cool...

Offline  djmatti
Gepost op: 01 juni 2006 - 17:50
HTML interesse



maar van die ene server die je tegen mij zij
heb ik nog steeds geen bericht:$

Offline  GTW
Gepost op: 01 juni 2006 - 18:26
Gouden medaille

PHP gevorderde




hehe okee, ik vond hem ook wel lachen, ook wel dat jij hem hebt 

Offline  djmatti
Gepost op: 01 juni 2006 - 19:48
HTML interesse



:p :p :p :p:p:p:p

Offline  Jan01
Gepost op: 03 januari 2007 - 17:42
Nieuw lid



hey ik kan niet inloggen hoe kan dat admin en paswoord test hij geeft aan

kijk als ik wil inloggen geeft die fout aan van ( 1 of meer velden zijn niet ingevuld) maar ik heb bij config aangepast mijn adminnaam en paswoord hij pakt hem niet

Offline  Ibrahim
Gepost op: 17 maart 2007 - 16:34
PHP expert



Een hele verbetering 

Je zou nu nog een exit onder de header() zetten bij de foreach loop 
Ook zou je wat meer enters/spaties kunnen neerzetten, want dit is niet bepaald leesbaar Los deze zaken op en hij komt weer online

edit:

  1. if(isset($_SESSION['loggedin']) && $_SESSION['loggedin']==$admin['name']){


je array is nu anders he 

Offline  Ibrahim
Gepost op: 17 maart 2007 - 16:41
PHP expert



Mijn commentaar staat tussen /** en */

  1. <?php
  2. # Indien er al ingelogd is wordt de gebruiker doorgestuurd
  3. if(isset($_SESSION['loggedin']) && $_SESSION['loggedin']==$admin['name']){
  4. header("location: loggedin/");
  5. /**
  6.   * Je hebt een nieuw array indeling
  7.   */
  8. }


  1. <?php
  2. foreach($admin as $adm=>$admkey){
  3. if($naam==$admkey['name'] && $pass==$admkey['pass']){
  4. # Alles klopt, zet de sessies goed en login
  5. $_SESSION['loggedin'] = $naam;
  6. $_SESSION['loggedinnr'] = $adm;
  7. $_SESSION['loggedintype'] = $admkey['type'];
  8. header("location: loggedin/index.php");
  9. /**
  10.   * hier dus een exit zetten
  11.   */
  12. }
  13. }


Voor de rest ziet het er wel goed uit 
Wel wat netter 

Offline  thomasje
Gepost op: 11 oktober 2007 - 18:38
MySQL beginner



Hallo
Ik hoe kan ik de naam van degenen die is ingelocht op vragen,
dus als ze inloggen dat ik in een gedeelte vn mijn eigen script kunnen zien wat hun naam is. Graag zonder dat het paswoord zichtbaar is. Ik ben nog een beginner dus mischien een stomme vraag.

Offline  Bob00
Gepost op: 30 december 2007 - 23:35
Nieuw lid



Misschien domme vraag maar:

Hoe/waar kan ik de wachtwoorden (ww: test) veranderen?  

Met Vriendelijke Groet,

Bob

Offline  GTW
Gepost op: 03 januari 2008 - 16:32
Gouden medaille

PHP gevorderde




Als je het script doorleest, kom je bij de config.php pagina. hierin staat het beschreven. daar staan MD5 gecodeerde wachtwoorden in. hier kan je die dus aanpassen door ze te vervamgen door je eigen (md5 gecodeerde) wachtwoorden erin te plaatsen.

Offline  vestel
Gepost op: 01 maart 2008 - 16:03
Nieuw lid



hallo,
ik ben hier net nieuw en heb al direct een vraagje  
ik heb dit script gebruikt.. alles werkt mooi maar ik heb een vraagje... hoe kan ik maken dat alleen vb gebruiker 1 hem kan lezen.. dan de volgende pagina gebruiker 2 enz...?
groeten, Vestel

Offline  bas1995
Gepost op: 10 april 2008 - 17:00
Onbekend



ff vraagje wat kan met dat type

Offline  jeloen
Gepost op: 22 juni 2008 - 13:32
Nieuw lid



Ik hen geprobeerd hem op mijn site te zetten maar helaad doet hij het niet.  als ik met admin en mijn md5 gecodeerd wachtwoord inlog dan geeft hij geen foutmelding of linkt hij ook niet door hij blijft op dezelfde pagina.
Weet iemand wat ik fout doe? 
alvast bedankt

Offline  coybot
Gepost op: 30 oktober 2008 - 18:18
Nieuw lid



ik krijg dit: http://i33.tinypic.com/11kfhuh.jpg

Offline  bl00d0script
Gepost op: 28 november 2008 - 21:28
Onbekend



hij doet het, maar wat is het verschil tussen geen admin en wel een admin?

Offline  GTW
Gepost op: 29 november 2008 - 16:42
Gouden medaille

PHP gevorderde




Dat kan jij dus bepalen, een admin mag bijvoorbeeld beheerpagina's wel zien, een gewone gebruiker niet

Offline  bl00d0script
Gepost op: 29 november 2008 - 19:05
Onbekend



ohh oke ja sorry er stond bij elke login niet voor jou ogen bestemd. maar had mezelf op 0 gezet. maar moderators krijgen hetzelfde als gewone users. waarom is dit?

Offline  bl00d0script
Gepost op: 30 november 2008 - 10:53
Onbekend



jeloen schreef:
Ik hen geprobeerd hem op mijn site te zetten maar helaad doet hij het niet.  als ik met admin en mijn md5 gecodeerd wachtwoord inlog dan geeft hij geen foutmelding of linkt hij ook niet door hij blijft op dezelfde pagina.
Weet iemand wat ik fout doe? 
alvast bedankt

ondersteund je host wel php?

Offline  bl00d0script
Gepost op: 11 december 2008 - 20:55
Onbekend



hij werkt niet in een layout
kijk maar: http://bigcow.110mb.com/the-pibot/login.php

Offline  GTW
Gepost op: 15 december 2008 - 18:26
Gouden medaille

PHP gevorderde




Dan moet je hem zo aanpassen dat het wel werkt. Het is een voorbeeld, je hoeft hem niet letterlijk te kopieren en plakken.

Offline  loekvh
Gepost op: 04 januari 2009 - 21:11
Nieuw lid



Werkt perfect!

Kijk maar eens :

http://www.mijn.alfa-design.nl

Bedankt!


Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.213s