Om jag har ett inloggningsscript som ser ut på följande sätt:
<?php
if(isset($mail) && isset($pass)){
$sql="SELECT mail, pass, id, active FROM register";
$result=mysql_query($sql);
while($row = mysql_fetch_array($result)){
$tom = $row["mail"];
$ma = $row["pass"];
if(strtolower($mail) == strtolower($tom) && strtolower($pass) == strtolower($ma)){
if($row["active"] == "ja"){
$komin = $row["id"];
session_register("komin");
echo "<meta http-equiv=refresh content=\"0; url=login.php\">";
}
else {echo "Din användare finns men är inte aktiv än.";}
}
else{echo"<br> Du har angivit felaktig mail eller lösenord.";}
}
}?>
(Denna kod ser inte ut exakt som den jag använder för jag har gjort några små ändringar.)
I alla fall så blir det såhär: Om någon skriver in felaktigt så skriver sidan ut ett felmeddelande för VARJE användare som den kollar upp. Jag vill att den ska skriva ut ett om den inte hittar rätt person i basen. Samt så skriver den ut (om den hittar rätt) felmeddelanden för alla som är framför den personen i registret. Så även om man loggas in så hinner man se 4-5 "Du har angivit felaktigt..." Vilket är mäkta irriterande.
Ni får hemskt gärna optimera min kod också eftersom jag inte brukar var så bra på det. =)
Det där med sql-injections och att ändra ' till " tycker jag mig inte se här någonstans... borde det inte kunna bli ett potentiellt säkerhetshål?
Fast jag är ju inte så jättebra på php än jag heller... men kanske någon kunnigare kan rycka in å antingen klappa mig på huvet eller slå mig på fingrarna ;)
Jo.. Jag har ingen aning så jag hoppas väl på att nån annan kan rycka in och antingen säga om du har rätt eller fel.. =) Det MÅSTE nämligen vara säkert..
Säkert och säkert... Riktigt säkert blir det ju aldrig. Men rätt säkert lär det bli om du dessutom kollar ordentligt på varje sida efter sessionen. Sessionen i sig är ju cookie-baserad så det är ju inte världens svåraste att gå runt om man _verkligen_ vill, men det är väl inte intranätet för CIA du kodar hoppas jag? :)
258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2