proteggere dati con password sicura

asevenx

Utente Attivo
7 Nov 2009
312
0
16
salve, dovrei proteggere alcuni dati sensibili con una password che sia il più sicura possibile. Al momento pensavo di creare uno script php che permette l'accesso solo con l'inserimento di una password che risiede in un database locale. Secondo voi può andar bene come protezione? Avete qualche consiglio? grazie
 

asevenx

Utente Attivo
7 Nov 2009
312
0
16
Cioè pensavo di creare un modulo dove digitare la password. A questo modulo collego una quary e un ciclo per leggere e verificare la password digitata del tipo:
PHP:
$cerca_password = isset($_POST['cerca_password ']) ? trim($_POST['cerca_password ']) : '';
$cerca_password = ($cerca_password );

//connessione e invio al DB
$password= mysql_connect($host, $username, $dbpassword) or die("Connessione DB fallita");
mysql_select_db($database, $connessione) or die("Selezione DB fallita");

//visualizza tutti i record nel DB
$query = "SELECT * FROM $tabella WHERE password = '$cerca_password '";
$result = mysql_query($query, $connessione) or die('Errore...');

while($resrow = mysql_fetch_row($result)){
$password= $resrow[0];

if($cerca_password== $password){

//accesso a tutti i dati

}else{
echo"password errata"
}

ora l'ho scritta al volo tanto per fare un esempio, potrei aver commesso qualche errore nel definire le variabili o cose del genere, ma la struttura che pensavo di utilizzare è grosso modo questa, secondo voi è sicura?

sennò utilizzando questo ciclo:
PHP:
$records=array(  array('password'=>'passwordadmin'), );
 if(isset($_POST['action'])) { $check=false;
foreach($records as $v) { $pass= $v['password'];
if($pass==$_POST['password']) { $check=true;
}else { $check=false;
dove al posto della variabile passwordadmin inserisco una variabile direttamente collegata al database. Voi che ne dite?

Al massimo mettine 2 o studiati un po di cripting
dove trovo una guida per il cripting? grazie
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
23
Roma
alessandro1997.netsons.org
Un piccolo sistema di login puoi costruirlo così. Crea una pagina index.php contenente:
PHP:
<?php
session_start();

if (isset($_SESSION['username'])) {
    header('Location: welcome.php');
    exit();
}

if (isset($_POST['submit'])) {
    $users = array(
        'admin' => 'admin',
        // ...
    );

    $username = isset($_POST['username']) ? trim($_POST['username']) : '';
    $password = isset($_POST['password']) ? trim($_POST['password']) : '';

    if ($username == '' || $password == '') {
        header("Location: {$_SERVER['PHP_SELF']}?err=1");
        exit();
    }

    if (!isset($users[$username])) {
        header("Location: {$_SERVER['PHP_SELF']}?err=2");
        exit();
    }

    if ($users[$username] != $password) {
        header("Location: {$_SERVER['PHP_SELF']}?err=2");
        exit();
    }

    $_SESSION['username'] = $username;
    header('Location: welcome.php');
}
else {
    $error_code = isset($_GET['err']) ? $_GET['err'] : 0;

    switch ($error_code) {
        case 1:
            $error_text = 'Non hai compilato tutti i campi richiesti.';
            break;

        case 2:
            $error_text = 'Combinazione username/password errata.';
            break;

        default:
            $error_text = '';
    }

    $error_text = "<p style=\"color: red;\">{$error_text}</p>";

    echo <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Login</title>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    </head>

    <body>
        <h1>Login</h1>
        {$error_text}
        <form method="post" action="{$_SERVER['PHP_SELF']}">
            <table cellspacing="10">
                <tr>
                    <td><label>Username:</label></td>
                    <td><input type="text" name="username" /></td>
                </tr>

                <tr>
                    <td><label>Password:</label></td>
                    <td><input type="password" name="password" /></td>
                </tr>

                <tr>
                    <td>&nbsp;</td>
                    <td><input type="submit" name="submit" value="Login &raquo;" /></td>
                </tr>
            </table>
        </form>
    </body>
</html>
EOF;
}
?>
Quindi una pagina welcome.php contenente:
PHP:
<?php
session_start();

if (!isset($_SESSION['username'])) {
    header('Location: index.php');
    exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Benvenuto <?php echo $_SESSION['username']; ?>!</title>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    </head>

    <body>
        <h1>Benvenuto <?php echo $_SESSION['username']; ?>!</h1>
        <p>Benvenuto <strong><?php echo $_SESSION['username']; ?></strong>! <a href="logout.php">Logout</a></p>
    </body>
</html>
E infine una pagina logout.php contenente:
PHP:
<?php
session_start();

if (isset($_SESSION['username'])) {
    unset($_SESSION['username']);
}

header('Location: index.php');
?>
Se vuoi creare una nuova pagina accessibile agli utenti loggati metti all'inizio questo:
PHP:
<?php
session_start();

if (!isset($_SESSION['username'])) {
    header('Location: index.php');
    exit();
}
?>
Se invece la pagina deve essere accessibile solo ai visitatori (come nel caso del login) metti all'inizio questo:
PHP:
<?php
session_start();

if (isset($_SESSION['username'])) {
    header('Location: index.php');
    exit();
}
?>
Testato e funzionante.
 

asevenx

Utente Attivo
7 Nov 2009
312
0
16
PHP:
if (isset($_POST['submit'])) {
    $users = array(
        'admin' => 'admin',
        // ...
    );
Ma è sicuro rendere visibili password e username? non c'è rischio che vengano lette da qualcuno che possa accedervi. Devo inserire codici bancari e quant'altro in queste pagine, vorrei essere sicuro della sicurezza. grazie
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Di quello che passa per il Web nulla è sicuro al 100%, ma siamo sempre ad un livello superiore di un qualsiasi bamcomat
 

micio86

Utente Attivo
Eheh

Ha ragione Eli, ovviamente sl web niente è sicuro. Figurati ke tempo fa han bucato il sito delle poste degli hack italiani scrivendo ke non era sicuro. Potevano anche azzerare o aumentare dei conti ki lo sa!?
Cmq se il Server è buono, il tuo codice php è al sicuro.
La passw falle sempre passare come POST

Solitamente si fa una cosa simile a ql ke hai fatto tu:
PHP:
$username = $_POST['username']);
$password = $_POST['password ']);

$query = "SELECT id FROM utenti WHERE username="$username" AND password = '$password '";
$result = mysql_query($query, $connessione) or die('Errore...');

if(mysql_num_rows($result)){
    $_SESSION['id']= true; // O magari l'id dell'utente
}
else{
echo"password errata"
}
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
S Proteggere file e dati nel FTP Web Server 0
B Come proteggere la casa durante i nostri lunghi viaggi Discussioni Varie 1
R [c#] Proteggere il codice dell'applicazione C/C++ 0
S [PHP] proteggere pagine PHP 10
B Proteggere cartella Apache ma non le sottocartelle!!! Apache 0
anton Proteggere un file con htaccess Apache 0
anton Proteggere un file su host HTML e CSS 9
S proteggere download dei file PHP 6
M proteggere un file testuale da accesso diretto PHP 4
G Proteggere le tabelle in access MS Access 0
P Sistema migliore per proteggere le immagini? Discussioni Varie 8
A Proteggere Cartella con .htaccess su Xoom.it Web Server 2
max_400 Proteggere i cookie PHP 7
M Proteggere PHP PHP 4
Jam1 proteggere foto con watermark da accessi tramite $_GET[''] PHP 16
max_400 Proteggere login con autenticazione database PHP 19
maurodefilippis Software Per DRM per proteggere pdf ed epub Windows e Software 1
C Proteggere file sul server Apache 2
max_400 Nascondere indirizzo o visualiz. un altro oppure Proteggere pagina php ricevente PHP 6
S [VB.NET] Proteggere le applicazioni .NET Framework 0
M [htaccess] Proteggere file con password Web Server 1
I proteggere le pagine internet PHP 25
M Proteggere più pagine con password PHP 12
R Proteggere una pagina di un sito con password PHP 23
G php - codice per proteggere le pagine PHP 10
M Proteggere un intero sito con .htaccess PHP 1
M come posso proteggere le mie immagini? Javascript 5
Z proteggere pagine Classic ASP 2
Maverick1000tt Proteggere pagina html HTML e CSS 2
M Proteggere una pagina con password usando ASP Classic ASP 6
C Come proteggere le immagini Webdesign e Grafica 1
D Proteggere immagini HTML e CSS 3
grottafelix Tutorial Asp: come proteggere le pagine Supporto Mr.Webmaster 6
peppoweb Proteggere PHP: guida passo passo PHP 0
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
A invio massivo dati a file php Javascript 4
M Inviare dati nel db dopo risposta alert PHP 0
A recuperare i dati passati nel post PHP 1
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
J Form inserimento dati in database Ajax 1
D Recupero dati da HDD esterno Hardware 0
L non duplicare dati in stato "aggiornamento" PHP 6
L inserire dati multi livello PHP 8
L input (rilevare cambio dati) PHP 3
L input dati con inser into select ? PHP 4
W Invio Dati ad un altra pagina Classic ASP 1
A Mostrare dati database per pagine PHP 2
Samuele Ronzani Sposta dati in una tabella eliminandolo MySQL 6

Discussioni simili