Sicurezza login e limitazione accessi

Lorenzo Pezzi

Nuovo Utente
22 Set 2015
23
0
1
Salve a tutti ragazzi, stavo perfezionando il mio codice php di login e volevo chiedere informazioni riguardo alla sicurezza.

Non solo a livello di criptaggio password e di esclusione di caratteri dannosi, ma anche riguardo la limitazione degli accessi.

Su cosa posso agire per limitare gli accessi di un utente? dove tengo questa informazione?

Grazie mille, se avete consigli sulla sicurezza in generale sono ben accetti.
 
Ecco come faccio per il mio sito
- Consentire solo lettere e numeri (per evitare l'attacco SQL con le virgolette)
- Togliere la lunghezza del nome utente e password
- Selezionate dal database e e consentire l'accesso solo se solo risultato = 1
- Cerco CSRF (i non elaborano carte di credito o dati sensibili e io non lo uso)
 
Ecco come faccio per il mio sito
- Consentire solo lettere e numeri (per evitare l'attacco SQL con le virgolette)
- Togliere la lunghezza del nome utente e password
- Selezionate dal database e e consentire l'accesso solo se solo risultato = 1
- Cerco CSRF (i non elaborano carte di credito o dati sensibili e io non lo uso)

sapresti dirmi in breve come attui queste contromisure?
 
Codice:
<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");


$username = $_POST['username'];
$username = substr($username, 12); // permettiamo massimo 12 caratteri
$username = preg_replace("/[^a-zA-Z0-9]+/", "", $username); // consentire solo lettere e numeri


$password = $_POST['password'];
// fare lo stesso convalida nome utente
$password = sha1($password); // registriamo nel database come hash



if ( isset($_POST['submit']) ) {

	$result = $mysqli->query("SELECT FROM members WHERE username='$username' AND password=$password LIMIT 1");

	/* determinare il numero di righe set di risultati */
    $row_cnt = $result->num_rows;

    if( $row_cnt == 1){
    	// OK
    	// register sessione e accedere l'utente
    }

}
?>

riferimento: http://php.net/manual/ro/mysqli-result.num-rows.php

ps. Ho solo imparare italiano
 

Discussioni simili