login form beveiligen

Status
Niet open voor verdere reacties.

arrie12

Gebruiker
Lid geworden
21 okt 2013
Berichten
34
hallo,

ik ben op het internet aan het zoeken geweest om mijn login form te beveiligen tegen sql injectie echter kon ik niet wat vinden hoe ik dit het best kon doen. zouden jullie mij kunnen zeggen hoe ik dit stukje code het best kan beveiligen tegen sql injectie?

PHP:
		if(isset($_POST['username'])){
			$usrname = $_POST['username'];
			$password = $_POST['password'];
			$sql = "SELECT * FROM users WHERE username='" .$usrname . "' AND password='".$password. "' LIMIT 1";
			$res = mysql_query($sql) or die(mysql_error());
			if(mysql_num_rows($res) == 1){
				$row = mysql_fetch_assoc($res);
				$_SESSION['uid'] = $row['ID'];
				$_SESSION['username'] = $row['Username'];
				header("location: index.php");
				exit();
			}else{
				echo"invalid login information, please try again";
				
			};
		}

mvg,
Arrie
 
A: Beginnen met de enige juiste manier om te checken of een formulier is verzonden:
PHP:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
  // er is een formulier verzonden
} else {
  // er is nog niets verzonden
}

B: mysql_*-functies worden in een volgende versie van PHP er uitgehaald. Het is raadzaam die te vervangen met MySQLi of PDO-functies.

C: Afhankelijk van de gekozen vervanger voor de functies is stap 1 in SQL-injectieprefentie mysqli_real_escape_string() of PDO::prepare()
 
Laatst bewerkt:
okee bedankt!

een vraagje kan ik mysql_query bijvoorbeeld gewoon vervangen door mysqli_query of is het anders?
 
Laatst bewerkt:
Nee, dat kan niet zomaar. Aan de hand van de documentatie op php.net moet je er eenvoudig achter komen hoe het werkt.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan