Hallo iedereen,

Ik heb een php script gemaakt die cijfers opslaat en gemiddeldes berekent.
Als jullie nog ideeën en/of aanmerkingen hebben, zeg het dan a.u.b.

(alleen let niet al te veel op het grafische aspect, het gaat puur om inhoud)

URL: http://www.lukosite.nl/rapport
Account maken is gratis...
Hmm, was me nog niet opgevallen. Het zou ietsje beter zijn geweest als de pass in de url md5 hashed was. En het was al helemaal beter geweest als het via de POST ging.
Maar des al niet te min, een goed script...
typ in wikipedia is sql injection in ->
"SQL-injectie
SQL-injectie bestaat er uit dat een gebruiker in het invoerveld tekens invoert die er voor zorgen dat er een ongewenste SQL query wordt uitgevoerd. Daarbij wordt gebruik gemaakt van de apostrof. Dat werkt alleen als bij het genereren van de SQL code op basis van gebruikersinvoer de apostrof niet verdubbeld wordt.

De gebruiker typt bijvoorbeeld "Jansen' OR 'a' = 'a" in het zoekveld."

log is in met: Jansen' OR 'a' = 'a
Oké, dat gene van de url balk is toch niet echt een 'big-deal', toch?
ik bedoel, dan weet één van je familie leden maar welk wachtwoord je hebt...
die SQL injection lijkt me veel gevaarlijker, maar hoe moet ik het stoppen?
moet ik mischien de $_POST['naam'] en $_POST['pass'] filteren?
dus bijvoorbeeld de ' eruit halen.

ow ja, ik wil niet naïef zijn, maar willen jullie nog ff niet proberen zo'n sql injection erin te zetten. ^^

Ik ga er werk van maken,

EDIT:
Ik heb gelezen op wikipedia dat het niet mogelijk is een sql-injection te doen, zonder een apestrof, heb ik dit goed gelezen?

Want, ik heb nu deze 2 regeltjes erbij gezet,
$naam = str_replace("'", "", $_POST['naam']);
$pass = = str_replace("'", "", $_POST['pass']);

en alle andere $_post['naam'] en $_post['pass'] verandert in $naam en $pass


Ltr,
Luko
niet echt een big-deal? Je kunt beter vanaf het begin goed/veilig leren programmeren, dan dat je achteraf iedere keer je beveiliging moet gaan verbeteren.

en zonder apostrof kun je ook nog bijzonder veel doen.
Luko schreef op 02.07.2007 11:26
ik bedoel, dan weet één van je familie leden maar welk wachtwoord je hebt...
Het gaat om het principe. Leer je het verkeerd, blijf je het verkeerd doen!!

Stel nu dat het niet om zoiets gaat, maar om gevoelige persoonlijke of financiële gegevens. Wat dan? Vind je het bijvoorbeeld ook niet erg als je familieleden kunnen zien welk wachtwoord jij gebruikt bij internetbankieren?

En waarom alleen je familieleden? Het mooie van internet is dat je overal gebruik kan maken van je scripts. En als je dan je script open hebt staan op je werk of school?

Ook het wachtwoord als MD5 in de $_GET zetten is fout. Je moet een sessie aanmaken met daarin de gegevens die je wilt weten van een gebruiker. Dit moet je matchen tegen een IP die je bij het inloggen opslaat. Of iets dergelijks (zou bijvoorbeeld ook met cookies kunnen).

Voorbeelden zat te vinden van goede gebruikerssystemen met goede en veiligere login.

Elwin
mysql_real_escape_string() en strip_tags worden veel gebruikt..
ach jongens, ik snap dat ik het goed moet leren, maar ik heb er eerlijk gezegt geen zin in om alles nu te verbeteren aan het script...
het is maar een 3 daagjes werk geweest en ik heb veel geleerd, bij mijn volgende scripts zal ik meer aandacht besteden aan de veiligheid...

Maar zeer bedankt voor het advies, ik heb er veel aan!

Ltr,
Luko
Ik zie niet graag die instelling wanneer het aan komt op gevoelige data verwerken.
Er zit geen DB bij, of hoe werkt het? Ik heb het nog niet getest..
ach, is het gevoelige informatie?

er zit wel een DB bij natuurlijk,
in MySQL...

Reageren