voor de PHP-ers op het forum een vraag
  Dutch Topics, DO NOT reply in other languages than Dutch !  

Vibemaster-D    posted on 09-01-2007 20:37
heej ik ben een nieuwe site aan het maken ik ga hem zo maken dat ik hem kan editten aanpassen zonder een programma voor nodig te hebben. een soort CMS dus. alleen nu heb ik hier het inlog script alleen kan ik alleen inloggen met de eerste user inde MySQL database. de 2e user geeft hij de geen toegang error die onderin staat. kan iemand mij helpen ik zie de fout dus nietConfused??. ik heb gekeken en de accounts die op dit stuk moeten kunnen inloggen hebben adminlvl 5 dus daar ligt het ook niet aan.


bij voorbaat dank
DJ Dennis => Vibemaster D

hier is de code

<?php
require('config.php');
$username=md5($_POST['username']);
$password=md5($_POST['password']);
$mysql = mysql_pconnect($hostname_mysql, $username_mysql, $password_mysql) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_mysql, $mysql);
$query_users = "SELECT * FROM users";
$users = mysql_query($query_users, $mysql) or die(mysql_error());
$row_users = mysql_fetch_assoc($users);
if (($username == $row_users['username']) && ($password == $row_users['password']) && $row_users['adminlvl'] == '5') {
session_start();
$_SESSION['security'] = 'validated';
$_SESSION['time'] = time();
header('Location:main.php');
exit();
} else {
echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Toegang geweigerd')</SCRIPT>";
header('Location:index.php');
exit();
}
?>



What do you think about voor de PHP-ers op het forum een vraag ??

Vote :   

W.i.M    posted on 09-01-2007 20:42
Ik weet niet of je deze coding zelf hebt geschreven maar :

 && $row_users['adminlvl'] == '5'

wat dit precies doet is mij niet helemaal duidelijk maar ik zou eens proberen om dit weg te halen.

edit: oeps, zoals je al aangeeft is dit de fout niet.
Waarom lees je dit nu eigenlijk ?
Mod edit by W.i.M on 09-01-2007 20:45 (29%)
Vibemaster-D    posted on 09-01-2007 20:45
de users hebben een adminlvl en om op het admin gedeelte te komen is een admin LvL 5 vereist dus kijkt deze of die ook bij de user zit zegmaar.

en ja ik heb de code zelf geschreven.


ik heb dat stukje code weggelaten maar het maakt geen enkele verschil
User edit by Vibemaster-D on 09-01-2007 @ 20:48:49 (40%)
W.i.M    posted on 09-01-2007 20:49
Als je dit zelf hebt geschreven dan kun je dit toch ook debuggen door de tabel 'users' te echo'en met daarachter de POST variabele.

De variabele worden goed doorgegeven omdat je wel kunt inloggen dus dat is het ook niet. Blijkbaar loopt hij niet de hele tabel 'users' door want anders zou het moeten werken.
Waarom lees je dit nu eigenlijk ?
Vibemaster-D    posted on 09-01-2007 20:58
het werkt ik heb dit even toegevoegd <?php $sql="SELECT * FROM users Where username = '$username'";?>hij kijkt nu in het vakje username en kijkt daar de bijbehorende informatie of het kopt nu werkt het wel

maar toch bedankt voor de moeite
W.i.M    posted on 09-01-2007 21:10
Hier zat ik ook aan te denken alleen moet je nu wel de variabele beveiligen omdat een user nu rechtstreeks met eigen variabele de database kan aanroepen.

google op 'sql injectie' en je zult zien dat je coding een enorm gat heeft wat betreft beveiliging.
Waarom lees je dit nu eigenlijk ?
Lead    posted on 10-01-2007 07:38
Yep idd, die query lijkt met niet ehct het slimste om te gebruiken...
Let the BASS be louder


  This is an old Topic

No new postings for 6.697 days.
 Post CommentThat would be 223.2 months
or a whopping 18.3 years
You might consider opening a new topic or reply anyway by pressing the green button...


103 Users online: 29 Guests (74 Unknown)
Pages generated today : 63.231
Most visitors online this month : 380
Lifetime Pageviews since 2003 : 238.736.183