Login System V1.0.1

Door CB2thephp , 22 jaar geleden, 13.997x bekeken

Login System V1.0.1
Gemaakt door Christian Bolster

Ik heb deze loginsysteem vandaag gemaakt en ik hoop,
dat het er genoeg vermogen heeft om het verder uit te breiden.
Er zou waarschijnlijk snel een nieuwere versie uitkomen,
nadat ik wat reacties heb gehad over (bijv. beveiliging etc).

Hieronder staan de opties van de versie(s).

V1.0.0
- Registreren
- Login
- Logout
- Beveiliging tegen meeste misbruiken.
- Switch statement om meer forms te kunnen gebruiken.
- Authenticatie van gebruikers nadat ze zijn ingelogd.
V1.0.1
- Database fout hersteld

De code is sinds kort hier te downloaden:

http://home.skyaccess.nl/d2bols01/php/loginsystem101.rar

Dit in verband dat header fouten kunnen onstaan met het foutelijk kopieren.

Ik hoop dat ik veel reacties terugkrijg over mijn script.

Groeten,

Christian Bolster

Gesponsorde koppelingen

PHP script bestanden

  1. login-system-v101

 

Er zijn 57 reacties op 'Login system v101'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jelmer -
Jelmer -
22 jaar geleden
 
0 +1 -0 -1
Wat me even snel opvalt:
In:
if (!isset($_REQUEST['action'])) {
header ('refresh: 3; url=index.php');
die ('No form has been submitted.');
}

Maar dat staat in een switch()-lus, die wordt uitgevoerd op basis van $_REQ['action'], en dat heb je al gecontroleerd voordat je de lus starte. Dus deze situatie hier zal nooit voorkomen.

En waarom gebruik je (-jes bij echo?
CB2thephp
CB2thephp
22 jaar geleden
 
0 +1 -0 -1
Hallo Jelmer

Zoals mijn uitleg erbij, heb ik dat gedaan om er voor te zorgen dat ze als nog worden gemeldt met een fout waarneer ze dit invoeren.
(http://www.example.nl/transact-user.php?action=Login). Want nu hadden ze de eerste ontweken snap je.

En met de echo is de (-tjes een gewoonte geworden.

groeten

Christian Bolster
Jelmer -
Jelmer -
22 jaar geleden
 
0 +1 -0 -1
Ja, dat snap ik, maar:
action is niet bekend{
die ('No form has been submitted.<br />Press back to return.');
}
action is wel bekend{
waneer action 'login' is{
action is niet bekend{
hier komt hij dus nooit, want hij komt al niet in de switch-lus terecht en al hij dat al deed zou hij naar 'default:' gaan, en zeker niet naar 'Login'.
}
}
}
Woopie100
Woopie100
22 jaar geleden
 
0 +1 -0 -1
ik vind wel dat het heeeeeel overzichtelijk is gescript. Bij mij worden zulke scripts rotzooitjes :)
EdwinG
EdwinG
22 jaar geleden
 
0 +1 -0 -1
Puntje van conn.php: Zorg dat deze niet los bekeken kan worden. (bijvoorbeeld door te kijken of een constante gezet is).
Kijk bijvoorbeeld naar de manier waarop phpBB of Joomla/Mambo met includes omgaat, en voorkomt dat deze direct berijkt worden.
Jasper
jasper
22 jaar geleden
 
0 +1 -0 -1
Het klinkt misschien stom maar ik krijg die code niet in een database
Noxxos
Noxxos
22 jaar geleden
 
0 +1 -0 -1
In auth.php staat:

/*Codeer de variabelen.*/
$pass = addslashes($pass);
$user = addslashes($user);

moet dat niet in:

$pass = addslashes(sha1($pass));
$user = addslashes(base64_encode($user));

veranderd worden? Zoals in transact-user.php?
CB2thephp
CB2thephp
22 jaar geleden
 
0 +1 -0 -1
Hallo Marco

Nee dat moet niet want auth.php zorgt erniet voor om een wachtwoord te hashen/encrypten het moet alleen checken en als je het zoals jij doet dan klopt de sessie wachtwoord niet meer met de database.

Groeten,

Christian Bolster
Bert
Bert
22 jaar geleden
 
0 +1 -0 -1
kun je mij uitleggen hoe ik dit moet gebruiken als ik een inlogscherm wil voordat ze mijn pagina kunnen openen.
CB2thephp
CB2thephp
22 jaar geleden
 
0 +1 -0 -1
Hallo Bert

Als je bedoelt dat ze eerst in moeten loggen en door wilt sturen naar jou geheime pagina dan moet je boven jou bestand de volgende regel toevoegen:

-
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php require_once 'auth.php'; ?>


Als je iets anders bedoelt moet je het maar weer melden

Groeten,

Christian Bolster
Niek
Niek
22 jaar geleden
 
0 +1 -0 -1
thx nice script zelfs ik snap em nog een keertje :P, hopen dat je wat uitbreidingen maakt voor dit script bijvoorbeeld dat je nieuwsberichten kan posten of verwijdere of edite. Maar in ieder geval bedankt voor dit script:)
CB2thephp
CB2thephp
22 jaar geleden
 
0 +1 -0 -1
hallo Niek

Er komt inderdaad nog een update (Uitbreiding komt wat later). Deze update bevat vooral extra beveiligings opties. Toch zal het nog even duren want ik heb een examenweek.

Groeten,

Christian Bolster
PHP hulp
PHP hulp
22 jaar geleden
 
0 +1 -0 -1
veel succes met die examenweek... Bij mij zal het nog wel ff duren voordat ik die krijg... Kzit pas in de brugklas!! :P
Kalle P
Kalle P
22 jaar geleden
 
0 +1 -0 -1
gewoon proefwerkweek net als jij. In deze tijd zijn er geen examens.
CB2thephp
CB2thephp
22 jaar geleden
 
0 +1 -0 -1
Hallo Kalle,

Ik zit al in de vierde en al mijn cijfers tellen al mee met het examen. Dus kan ik stellen dat het een examen is.

Groeten,

Christian Bolster
Remco
Remco
22 jaar geleden
 
0 +1 -0 -1
Hallo,

Mooi script.. :D
Ik ga hem zelf ook proberen verder uit te werken.
Ben namelijk ook een beginner

Heb alleen een probleempje
Als je zeg maar een account aanmaakt die al bestaat, dan geeft die wel een fout melding, maar ook een melding dat het script niet klopt..
Kan een van jullie de fout vinden?

mvg
Cootje
CB2thephp
CB2thephp
22 jaar geleden
 
0 +1 -0 -1
Hallo Remco

Jou fout was een vergeet fout van mij (sorry). Deze is nu hersteld. Om de fout makkelijk te herstellen gewoon username niet meer unique maken in de database. Of neem het gewoon opnieuw over.

Christian Bolster
Kalle P
Kalle P
22 jaar geleden
 
0 +1 -0 -1
in de 4e heb je meer proefwerken dan SE's
CB2thephp
CB2thephp
22 jaar geleden
 
0 +1 -0 -1
Bedankt voor jullie reacties.

Tot nu toe kan ik jullie zeggen dat ik zo snel mogelijk bezig wil gaan met V1.1. Maar ik heb nog een SE week dus dat wil niet. Maar de volgende dingen kan ik er al melden.
Als je aanmeld worden de base_64(username+id)(session natuurlijk) met implode wegstopt en dan weer geencrypt met base_64. Dan wordt er nog een session['logged'] bijgevoegd en als die klopt wordt de grotere sessie met username+id opengemaakt en gecheckt. Zoals je ziet zal de w8woord niet meer bijgevoegd.

groeten

Christian Bolster
Remco
Remco
22 jaar geleden
 
0 +1 -0 -1
Notice: Undefined variable: row in c:\program files\easyphp1-8\www\transact-user.php on line 60

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\transact-user.php:60) in c:\program files\easyphp1-8\www\transact-user.php on line 61
Username bestaat al

Hallo CB2thephp,

Deze foutmelding krijg ik nog steeds.. en hoe moet ik username unique uitzetten? ik heb wel iets aangepast, maar het werkt niet..

alvast bedant..
mvg Cootje
Johan
Johan
22 jaar geleden
 
0 +1 -0 -1
Is het mogelijk om te voorkomen dat je uitgelogd als je via de 'vorige' knop terug gaat. Best lastig voor mensen die die knop graag gebruiken.

gr Johan
Niek
Niek
22 jaar geleden
 
0 +1 -0 -1
bij mij geeft hij die foutmelding niet aan:S lucky me:P
CB2thephp
CB2thephp
22 jaar geleden
 
0 +1 -0 -1
Remco,

Het spijt me ik heb geprobeerd iets te fixen, maar dan doet hij niet meer. Waarschijnlijk is er bij jou wat misgegaan met overzetten in bestanden.

Johan,

Dit kan ik niet verhelpen(Dat is wat ik weet), want IE etc. die zorgen ervoor dat alle voorgaande dingen worden verwijderd, wat er dus is gebeurt. Bij mijn script is dat inloggen. Maar met meerdere pagina's gebeurd dat niet zosnel.

Groeten

Christian Bolster
Huh bla
Huh bla
22 jaar geleden
 
0 +1 -0 -1
en om een pagina te beveiligen hoef je dus alleen maar
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php require_once 'auth.php'; ?>


toe te voegen...
Voula
Voula
22 jaar geleden
 
0 +1 -0 -1
Hoi :)

Ik ben dit weekend bezig geweest met een login script werd er helemaal gek van!

Nu ben ik met deze begonnen, maar ook hier kom ik niet uit :(.
Ik denk dat ik iets fout doe met Mysql
Ben daar nog onervaren in.

Als ik me wil registreren dan krijg ik deze melding:
Could not connect to the database; Access denied for user: 'ebde@localhost' (Using password: YES)

Ik snap het php en ht,m gedeelte wel alleen dat ene beetje Mysql.
conn.php heb ik alles ingevuld.

net dit stukje snap ik niet:

#####Database#####

Hoe maak ik een database bestand?

Heb nu een tekstbestand de naam database gegeven en daar dit ingeplaatst:

CREATE TABLE IF NOT EXISTS users (
id int(11) NOT NULL auto_increment,
username varchar(150) NOT NULL,
password varchar(40) NOT NULL,
PRIMARY KEY (id)
);



of moet dat in een htm pagina ?

Hopelijk kan iemand mij dit uitleggen?
Gr Voula
Voordat ik straks weer uren bezig ben terwijl het mis makkelijker kan.
Dank Alvast
Erik Rijk
Erik Rijk
22 jaar geleden
 
0 +1 -0 -1
dat moet in mysql komen :)

www.mysql.com
Voula
Voula
22 jaar geleden
 
0 +1 -0 -1
Dank Erik ;)

Hoe zet ik dat er dan in en waar

Kan dat via frontpage?
Moet ik een bestand,htm,php, txt of anders maken.

sorry hoor .
Voula
Voula
22 jaar geleden
 
he he eindelijk gelukt.

met hulp van iedereen.

Blijkt dat in myphpadmin moest hebben.
Snapte daar dus nix van.
FF met B-one gechat.
En die gaven mij een link door: myphpadmin.sitename.nl/com/...
Daar ben ik toen heengegaan en bij SQL de database code ingevoerd.

En dat zelf uitgepluist. krijg ik een pluim van iemand!!??

ben zo trots hihi

P.S: vast wel iemand die weet hoe en waar ik gebruikers kan deliten.
Anders wordt ie zo vol :)
Nogmaals dank ben weer wat wijzer geworden.

GR Voula
Joop de Fietserband
Joop de Fietserband
22 jaar geleden
 
0 +1 -0 -1
Even iets checken voor de duidelijkheid hoor:

/*Voor het geval dat mensen de volgende link invoeren
*http://www.mijnwebsite.nl/transact-user.php?action=Register
*krijgen ze als nog de foutmelding.*/
if (!isset($_REQUEST['action'])) {
header ('refresh: 3; url=register.php');
die ('No form has been submitted');
} else { enz....

In dit stukje stelt ie (als ik het goed begrijp) dus: If (Action niet gedefinieerd is) {
} anders { }.
Maar als iemand de link http://www.mijnwebsite.nl/transact-user.php?action=Register invoert is "Action" toch wel gedefinieerd? Of snap ik nou het $_REQUEST - command niet helemaal? Als iemand het zou kunnen uitleggen zou het geweldig zijn :)! Want wat doet dat $_REQUEST command hier nou... Checkt die of action gepost is ofzo???

Alvast bedankt,
Christiaan
Jeroen
Jeroen
22 jaar geleden
 
0 +1 -0 -1
Hallo Christian en anderen,

Als ik een nieuwe user registreer, dan krijg ik de melding dat deze al bestaat. Rarara hoe kan dat??
Johan
Johan
22 jaar geleden
 
0 +1 -0 -1
Probleem!!

Als ik inlog dan houd de sessie maar 1 pagina aan.

Dus: Ik log in en wordt vervolgens naar index2.php gestuurd. Dan kies ik zelf voor een andere pagina. Tot zover werkt alles prima. Wil ik daarna naar een andere pagina of zelfs de pagina waar ik al op ben. Dan krijg ik het bericht. Session not allowed.

What to do?

gr Johan
Johan
Johan
22 jaar geleden
 
0 +1 -0 -1
Voor het bericht dat de sessie not allowed is, krijg ik trouwens 1 keer session data incorrect.

gr Johan
Raymond ---
Raymond ---
22 jaar geleden
 
0 +1 -0 -1
Ik zie geen download link ;)
CB2thephp
CB2thephp
22 jaar geleden
 
0 +1 -0 -1
Raymond het is er weer hoor, komt waarschijnlijk door het nieuwe code systeem.
Xman
xman
22 jaar geleden
 
0 +1 -0 -1
Hallo,
Ik heb een klein probleem met dit script telkens als ik mij inlog dan zegt hij dat ik ingelogd ben en wordt dan doorverwezen naar de pagina index2.php maar daar geeft hij de error "Your session is not allowed." hoe kan ik dit oplossen?
dank u
Pieter oskam
pieter oskam
22 jaar geleden
 
0 +1 -0 -1
Hallo!

Ik heb hetzelfde probleem als Jeroen. Mijn database is compleet leeg maar alsnog zegt hij bij het registreren dat de username al bestaat! ik heb het er nu maar voor het gemak uitgelaten omdat ik het over 3 dagen in moet leveren maar deze site komt uiteindelijk wel echt online dus is het wel zo goed als het wel werkt! zelf kon ik de fout niet ontdekken terwijl ik wel een beetje php ken! Christiaan, of anderen, wat is hiervan de oorzaak?

Groeten,
Pieter
CB2thephp
CB2thephp
22 jaar geleden
 
0 +1 -0 -1
Hallo Iedereen.

Ik weet dat mijn login system veel fouten bevat. Ben ik ook bewust van, maar ik ben momenteel druk bezig meegeweest en die fouten zijn er allemaal uit alleen er moet hier en daar nog wat worden veranderd. Dit komt ook allemaal in versie 1.1 Die vele beveiligingslekken eruit haalt. Dus ik hoop dat jullie geduld hebben, want ik zit midden in de toetsweek dus ben druk, druk en nog eens druk. Dus ik doe mijn best.

Groeten,
Christian Bolster
Hilda
hilda
22 jaar geleden
 
0 +1 -0 -1
Oplossing "username bestaat al"

in transact-user.php regel 59:
if ((mysql_fetch_array($check_result)) != 1)
veranderen in
if ((mysql_fetch_array($check_result)) != 0)

Ik wil het script gaan gebruiken voor een site die ik aan het bouwen ben waar mensen uit verschillende groepen moeten inloggen. Het script is lekker "uitgekleed" waardoor goed te gebruiken lijkt. Bedankt!
Hilda
Basbox112
Basbox112
21 jaar geleden
 
0 +1 -0 -1
Ik heb het anders gedaan

in transact-user.php regel 59:
if ((mysql_fetch_array($check_result)) != 1)
veranderen in
if ((mysql_fetch_array($check_result)) == 1)

lijkt me beter dan '!= 0' want dan zou er ook wanneer het resultaat 2 of 3 of 10 was 'true' uitgevoerd worden!?
Jan Veenstra
Jan Veenstra
21 jaar geleden
 
0 +1 -0 -1
kun je er ook ff een .zip bij zette?
Jeroen
Jeroen
21 jaar geleden
 
0 +1 -0 -1
hmm leuk script maar

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
[12-Nov-2006 16:21:13] PHP Fatal error:  Call to undefined function:  sha1() in c:\phpdev\www\graf\transact-user.php on line 98


ik had database gemaakt en kreeg gelijk een error...
Mijnie Mail
Mijnie Mail
21 jaar geleden
 
0 +1 -0 -1
Nieuw hier, leuk werkend script.
Er zijn weinig loginscripts, en dan ook nog veel slechte en weinig goede.
Maar is het vandaag de dag nog veilig dit script te gebruiken?
En heeft iemand ergens een script gezien wat wel veilig en goed opgebouwd is?
Benieuwd naar de reacties.
Jasper Zegikniet
Jasper Zegikniet
21 jaar geleden
 
0 +1 -0 -1
kun jij conn.php zo weizigen dat het opgeslagen word in een txt?
Roy
Roy
20 jaar geleden
 
0 +1 -0 -1
Ik vind het een goed werkend script, ik ga het gebruiken voor mijn spel.
Ik heb er verder geen problemen mee en het is makkelijk uit te bereiden.
Richard
Richard
20 jaar geleden
 
0 +1 -0 -1
Vind het een leuk en eenvoudig script :) ga het 100% zeker gebruiken voor mijn site en nog verder uitbrijden.
Arne
Arne
20 jaar geleden
 
0 +1 -0 -1
Die mysql code voor de database klopt niet

"CREATE TABLE IF NOT EXISTS users (
id int(11) NOT NULL auto_increment,
username varchar(150) NOT NULL,
password varchar(40) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY (username)
)";

..
CB2thephp
CB2thephp
20 jaar geleden
 
0 +1 -0 -1
Ik zie nog steeds mensen reageren met problemen. Ik zou graag aan iedereen mededelen, dat ik dit loginsysteem niet verder meer support.

Dus ik hoop dat iedereen daar geen problemen mee heeft.
Yannick
Yannick
20 jaar geleden
 
0 +1 -0 -1
@ arne probeer dit is ;)

CREATE TABLE users(
id int(11) NOT NULL auto_increment,
username varchar(150) NOT NULL,
password varchar(40) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY (username)
);


20 jaar geleden
 
0 +1 -0 -1
Ik krijg telkens de foutmelding:
Your session is not allowed

Hoe moet ik dit oplossen????
Kees Kluskens
Kees Kluskens
20 jaar geleden
 
0 +1 -0 -1
Heb je hem ook in .zip ?? Mn computer ondersteunt geen .rar
Rindert
rindert
20 jaar geleden
 
0 +1 -0 -1
Ik heb ook nog een vraag..
ben vrij newbie achtig in php dus..

Hoe krijg je dat loguit systeem werkend?
dat lukt me namelijk niet...

Groeten

Rindert
Perry heijnen
perry heijnen
19 jaar geleden
 
0 +1 -0 -1
kees

www.winrar.nl

hier kan je winrar downloaden deze ondersteund het wel :P

groetjes
Perry heijnen
perry heijnen
19 jaar geleden
 
0 +1 -0 -1
had zelf ook probleem met databasis

yannick

hou versie werkt :P

CREATE TABLE users(
id int(11) NOT NULL auto_increment,
username varchar(150) NOT NULL,
password varchar(40) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY (username)
)
Perry heijnen
perry heijnen
19 jaar geleden
 
0 +1 -0 -1
ik krijg steeds e melding Username bestaat al
als ik er een aan maak
terweil ik deze niet kan terug kan vinden in de databasis
Nick
nick
19 jaar geleden
 
0 +1 -0 -1
ik heb het zelfde probleem :O
Pieter
Pieter
19 jaar geleden
 
0 +1 -0 -1
nick en perry,, anders lees je eerst ff goed de andere berichten door daar staat het tusen!!
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Max van den Bosch
Max van den Bosch
16 jaar geleden
 
0 +1 -0 -1
Jammer dat ie het na 5 jaar niet meer doet/er niet meer is
EDIT:
Gelukkig doet de rar het wel

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

Inhoudsopgave

  1. login-system-v101

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.