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
26
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
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
otto9due Proteggere file caricati dall'esterno ma renderli accessibili per gli utenti loggati. PHP 4
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 7
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
max75 query su due tabelle e dati doppioni MS Access 2
K Form che manda dati doppi PHP 1
T problemi con dati menu a tendina HTML e CSS 2
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
D Risultati diversi elaborazione dati fra localhost e Altervista PHP 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
peppe0703 Come Estrarre dati da db wordpress e richiamarli in html esterno HTML e CSS 0
V dati scomparsi dal sito HTML e CSS 3
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
A Stampare dati da form PHP 15
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
F Scrivere dei dati in word con php PHP 0

Discussioni simili