1 gebruiker loginscript

Door Roel -, 12 jaar geleden, 7.532x bekeken

Een tijdje geleden had ik er al een gemaakt, alleen die was slecht.

Opnieuw gemaakt dus, en dit keer bestaat ie uit slechts één pagina.

Hoe te gebruiken?
1. De code opslaan, je kunt deze noemen wat je zelf wilt.
2. Gebruik include("hierjepagina.php"); op de pagina(s) die je wilt beveiligen.

Alles is gemaakt in 1 pagina. Je moet inloggen op de pagina waar je naar op zoek was, en als je ingelogd bent krijg je bovenaan een mini menu te zien om uit te loggen.

Enjoy :)

Gesponsorde koppelingen

PHP script bestanden

  1. 1-gebruiker-loginscript

 

Er zijn 30 reacties op '1 gebruiker loginscript'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Onbekend Onbekend
Onbekend Onbekend
12 jaar geleden
 
0 +1 -0 -1
PHP_SELF moet je niet gebruiken, dat geeft een andere pagina dan dat jij soms denkt..
Roel -
Roel -
12 jaar geleden
 
0 +1 -0 -1
Wat moet ik dan gebruiken? Ik heb hiervoor toch even op php.net gekeken, maar ik kon niet de juiste vinden...
Lode
Lode
12 jaar geleden
 
0 +1 -0 -1
basename(__FILE__); waar mogelijk, en anders moet je die $_SERVER['PHP_SELF'] escapen met htmlspecialchars() / htmlentities() of consorten...

zie ook: http://www.scriptorama.nl/security/tips-veiligere-site-phpself
Zero XT
Zero XT
12 jaar geleden
 
0 +1 -0 -1
Je kan beter de functie empty vermijden. Als je wilt checken of iets leeg is doe dat dan zo:

if($var == '')
Mr.Ark
Mr.Ark
12 jaar geleden
 
0 +1 -0 -1
Quote:
Je kan beter de functie empty vermijden. Als je wilt checken of iets leeg is doe dat dan zo:

if($var == '')


Dat ligt er volgens mij maar net aan, Voor een input field kan je gerust empty gebruiken. Om een SESSION te checken zou ik liever isset() gebruiken.
Afra ca
Afra ca
12 jaar geleden
 
0 +1 -0 -1
Dat vind ik wonderlijke uitspraken Ark. Het enige nadeel van empty dat ik kan bedenken is dat empty 0, en "0" ook als leeg beschouwt.... Maar dat zal niet heel vaak een probleem geven, en anders staat er bij de user notes van php.net bij functie empty wel een leuke customempty.
Onbekend Onbekend
Onbekend Onbekend
12 jaar geleden
 
0 +1 -0 -1
Quote:
HellRazer schreef op 16.07.2009 01:18
Je kan beter de functie empty vermijden. Als je wilt checken of iets leeg is doe dat dan zo:

if($var == '')


Fack, nee, waarvoor denk je dat die functie is gemaakt? Die functie is ook nog eens sneller ipv wat jij doet.. Maar hoe de maker van het script emtpy gebruikt is ook niet echt heel leuk..
Midas
Midas
12 jaar geleden
 
0 +1 -0 -1
Gewoon action="" werkt ook.
Roel -
Roel -
12 jaar geleden
 
0 +1 -0 -1
Wat is het verschil tussen target en action?

Edit:
Perfect zo! :)
Onbekend Onbekend
Onbekend Onbekend
12 jaar geleden
 
0 +1 -0 -1
Quote:
Roel schreef op 16.07.2009 16:56
Wat is het verschil tussen target en action?


Leer HTML basics. Action is waar het form naar toe linkt bij een submit (behalve als het onderschept wordt door JS) en target is het venster of frame waarin de link wordt geopend gespecificeerd met het action attribuut.


12 jaar geleden
 
0 +1 -0 -1
Het gaat nu goed omdat je via het scipt de variabelen gebruikersnaam en wachtwoord mee post. Als je het via een http request zou verzenden en geen gebruikersnaam en wachtwoord mee zend, zul je een warning krijgen mits je dit onderdrukt.

Overal gebruik je isset waarom daar niet? zou het voor de zekerheid gewoon doen. Hoef je ook niet te controleren of de request method post is.
Een andere manier om te controleren of er gegevens gepost worden en dat er ook werkelijk wat is (wat weet je niet) is door te controleren met if(count($_POST)>0)

ps je constructie logica is raar: als sessie ingelogd niet bestaat of ongelijk is aan true, toon dan inloggen pagina.
Als die al niet bestaat zal die ook nooit true kunnen zijn. Je kan überhaupt deze voorwaarde niet stellen enkel dat het goed is omdat php zo in elkaar zit en deze controle niet uitvoert omdat de eerste voorwaarde al true geeft in je if constructie, met als gevolg dat de 2de voorwaarde niet getest word. Ik zou als voorwaarde stellen als session bestaat en gelijk is aan true dan, ingelogd pagina tonen en anders inloggen pagina tonen.
Roel -
Roel -
12 jaar geleden
 
0 +1 -0 -1
Het is zo toch goed?
Ivo K
Ivo K
12 jaar geleden
 
0 +1 -0 -1
hmpf... ik zie eigenlijk het nut niet zo van een 1 gebruiker loginscript...
Dat terzijde, vind ik het een beetje slordig eruit zien. Je manier van uitloggen vind ik wel grappig, maar verder ziet het er wel redelijk uit.

Toch zou ik gewoon een loginscript gebruiken wat een database gebruikt.
Roel -
Roel -
12 jaar geleden
 
0 +1 -0 -1
Ja maar als je geen database hebt (wat me overigens onwaarschijnlijk lijkt) of gewoon maar met één gebruiken toegang wilt kan dit toch handig zijn.
Marcel sauer
marcel sauer
11 jaar geleden
 
0 +1 -0 -1
ik krijg een warning bericht.

warning cannot modify header information - headers already send by (output started at home/ directory's ) in directory's /test.php on line 25

dat is deze regel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
header('Refresh: 1');


iemand een idee wat ik fout doe?
hij zegt dat ik wel juist ben ingelogd
Joren de Wit
Joren de Wit
11 jaar geleden
 
Je mag voor dit script nog geen output naar de browser hebben verzonden. Dat doe je nu wel...
Roel -
Roel -
11 jaar geleden
 
0 +1 -0 -1
Hehe ja toen was ik nog een beginner. Ik zie net dat ik het script niet meer kan wijzigen?
Marcel sauer
marcel sauer
11 jaar geleden
 
0 +1 -0 -1
begrijp het nog niet helemaal als ik het begrijp bedoel je dus dat hij de site niet mag laad voordat je ingelogd ben? en waar in de code moet ik dit veranderen?

edit: ok heb nu die header refresh verwijdert en nu krijg ik geen fout melding meer jeeeeej!!!

nu de vraag als ik hem automatische naar de site waar ik op in wou loggen door wil linken waar moet ik dan wat toevoegen voor de doorlink?

ik ben nog wel beginner :P
Dalando De Zuil
Dalando De Zuil
11 jaar geleden
 
0 +1 -0 -1
Quote:
Hehe ja toen was ik nog een beginner. Ik zie net dat ik het script niet meer kan wijzigen?


Ga naar je bestandje, dan rechts zie je 'opties' en dan klik je op 'aanpassen/veranderen/wijzigen' of whatever daar staat.
Marcel sauer
marcel sauer
11 jaar geleden
 
0 +1 -0 -1
weet niet of je die header refresh weer ergens bij moet zetten.
maar ik krijg nu alleen de text dat ik ingelogd ben.
alleen start hij de doel pagina niet op en het uitlog linkje niet.

iemand een tip?
Roel -
Roel -
11 jaar geleden
 
0 +1 -0 -1
Dat komt dus door die header(). Haal die tekst
echo '<h2>Inloggen</h2>';

even weg, dan doet ie het.

@Dalando De zuil; dat werkt dus niet ;-)

Quote:
Je hebt niet de juiste rechten om dit script te wijzigen. Dit kan de volgende oorzaken hebben:

1. Dit script is meer dan 7 dagen geleden geplaatst, wijzigen is hierna niet meer mogelijk
2. Je hebt niet de juiste rechten om dit script te wijzigen
Marcel sauer
marcel sauer
11 jaar geleden
 
0 +1 -0 -1
als ik <h2>inloggen</h2> weg haal dan verdwijnt alleen de inloggen text voor de rest gebeurt precies hetzelfde.
als ik de code
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
header('refresh: 1');
er weer in zet dan krijg ik weer dezelfde warning
Joris van Rijn
Joris van Rijn
11 jaar geleden
 
0 +1 -0 -1
Je moet wel de hele regel (inclusief echo'..') weg halen.
- SanThe -
- SanThe -
11 jaar geleden
 
0 +1 -0 -1
Dit is het forum niet. Het is niet de bedoeling om hier problemen te posten en te beantwoorden, daar is dus het forum voor. Alle posts van de laatste twee dagen kunnen verwijderd worden.
P Lekensteyn
P Lekensteyn
11 jaar geleden
 
0 +1 -0 -1
Leuk, je hoeft maar ergens een LFI vulnerability te hebben, en het inlogsysteem is weer gebroken.
sha1 het liever met een stevige hash.
Marcel sauer
marcel sauer
11 jaar geleden
 
0 +1 -0 -1
had de hele regel met echo verwijderd maar kreeg nog steeds dezelfde fout.
je kan mij gehele script bekijken op http://www.masafoto.nl/script.php
dat is misschien wat makkelijker achterhalen waar het probleem zit.

@ santhe nvt :
daar is dit stukje ook voor toch als het script niet goed meer is moet het ook besproken worden hoe het aangepast moet worden.
anders blijf je vragen krijgen ;)
Roel -
Roel -
11 jaar geleden
 
0 +1 -0 -1
Je hebt m'n XHTML valid script verpest...
Marco  -
marco -
11 jaar geleden
 
0 +1 -0 -1
het werkt niet
Ivo K
Ivo K
11 jaar geleden
 
0 +1 -0 -1
Quote:
Je hebt m'n XHTML valid script verpest...

Laten we nou niet al te ijdel doen, want dit script is al niet geweldig maar de output die het geeft is geenszins XHTML-valid: Waar is je <html>-tag bijv?

Verder is het beter om op het forum dit soort vragen te stellen. Hier zijn vaak minder leden, omdat dit deel minder opvalt en het forum is hiervoor gemaakt. Even een snelle vraag zou hier wel kunnen, maar als we een heel script moeten doornemen; maak dan even een topic aan.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Marcel sauer
marcel sauer
11 jaar geleden
 
0 +1 -0 -1
@ ivo K thx voor het normale berichtje ga het op het forum nog eens proberen ;)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. 1-gebruiker-loginscript

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.