Buongiorno a tutti,
programmo ogni tanto in php e questo forum spesso mi ha dato una grande mano. Ne approfitto nuovamente. Vorrei capire, una volta per tutte, se è possibile realizzare una semplice pagina di login che sia sicura ed intaccabile.
Finora ho utilizzato questa filosofia:

PAGINA DI LOGIN

<FORM METHOD="post">
Nome: <INPUT TYPE="text" SIZE=50 NAME="User">


Pwd: <INPUT TYPE="password" SIZE=50 NAME="Pwd">



<INPUT TYPE="submit" NAME="submit" VALUE="Submit!">
</FORM>

<?php

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

session_start();
$User = $_POST['User'];
$Pwd = $_POST['Pwd'];

$_SESSION['user'] = $_POST['User'];
$_SESSION['password'] = $_POST['Pwd'];

$db = mysql_connect('HOST', 'DB_USER, 'DB_PWD') or die ("<h1
style='color:#FF0000'>Connessione non riuscita: </h1>" . mysql_error());

mysql_select_db('NOME_DB);

$query = "SELECT pwd FROM tab_utenti WHERE Nome = '$User'";

$result = mysql_query($query);

$name_row = mysql_fetch_row($result)

if (!($name_row = mysql_fetch_row($result)) or ($Pwd<>$name_row[0]))
{

PWD ERRATA

}
Else
{

VAI ALLA HOME

}
}

?>

Tutte le altre pagine hanno invece all’inizio queste righe:

TUTTE LE ALTRE PAGINE

<?php

session_start();

$User = $_SESSION['user'];
$Pwd = $_SESSION['password'];

$db = mysql_connect('HOST', 'DB_USER, 'DB_PWD') or die ("<h1
style='color:#FF0000'>Connessione non riuscita: </h1>" . mysql_error());

mysql_select_db('NOME_DB);

$query = "SELECT pwd FROM tab_utenti WHERE Nome = '$User'";

$result = mysql_query($query);

$name_row = mysql_fetch_row($result)

if (!($name_row = mysql_fetch_row($result)) or ($Pwd<>$name_row[0]))
{

PAGINA DI LOGIN

}
Else
{

PAGINA RICHIESTA

}

?>


Il tutto funziona perfettamente. Vorrei solo sapere se a livello di sicurezza il codice va bene perché:

- Nel codice c’è l’utente e la password per l’accesso al database, ma essendo lato server questo non dovrebbe essere visibile ai malintenzionati. Corretto?
- Il fatto che nella pagina di login passo l’user con il metodo post non dovrebbe rappresentare un problema. Giusto?
- Il fatto che confronti la password inserita e memorizzata con SESSION, ogni pagina, con quella estratta dal database è corretto e sicuro?
- Ci sono altri problemi per la sicurezza?

Mi scuso per essermi dilungato e ringrazio chiunque vorrà rispondermi.
Buona giornata