Form Autenticazione

toposauro

Nuovo Utente
12 Apr 2007
9
0
0
Ciao ragazzi,

sono un principiante di Php e ho un problema che non riesco a risolvere e cioè:

devo consentire di raggiungere una determinata pagina per il download solo ad utenti registrati che hanno nome utente e password.

Queste informazioni (utente e password) sono scritte in un file di testo e sono separate dal carattere ":", per es. tizio:caio per nome utente e password;

Ho pensato di leggere il file di testo delle password e di mettere le righe in un array in questomodo:

$script = explode("\n", file_get_contents("/path/filepassword"));

se questo fosse corretto come devo fare per ciclare nell'array e verificare ad ogni ciclo se il nome utente e la password digitata dall'utente esiste all'interno del file?

Poi vorrei che il numero di tentativi non fosse superiore a 3 e nel caso di 3 tentativi non riusciti che mi scrivesse un messaggio, mentre ovviamente se il nome utente e password esistono mi aprisse la pagina del download.

Un grazie a chi saprà darmi una mano.

Ciao.
 

dragoonslair

Utente Attivo
27 Lug 2004
58
0
0
un gran bel metodo...

ma consiglierei di investire le proprie energie in un'applicazione di tipo PHP+MySQL....

metti caso che qualcuno, sta tracciando questa comunicazione, e ti conosce, ora sa come gestisci le password, andrà alla ricerca del file di testo e scoprirà tutte le tue password!!!!

okkey, basta allarmismi e rispondiamo...

PRIMA COSA...
il sistema che sto per dirti funziona (nella mia mente...) ma opterei di qualcosa di più sicuro...

Utilizziamo la funzione "ereg("valore_da_verificare", "marea_di_testo");"
questa funzione verifica che un determinato valore_da_verificare sia presente in una marea_di_testo

esempio...

<?php

$Testo = "Ciao a tutti il mio nome è Emanuele e provo a spiegarvi la funzione ereg....";
$Manu = ereg("i il mio nome è Ema",$Testo);
if ($Manu){
echo "Ok ti ho trovato...";
} else {
echo "Ma dove sei???!!!";
}

?>

lo scriptino cercherà in Testo quella stringhetta (che può essere anche una variabile..) se la trova bene, se no ahimé...

come fare dici per utilizzarla?
prima cosa studiatela nel manuale di php: http://it.php.net/ereg e confrontala con quella che non tiene conto delle maiuscole e minuscole http://it.php.net/eregi

dopodiché:

# dopo ti spiego...
session_start();

if ($_SESSION[tentativo] == 3){
mail("[email protected]", "Un utente pazzo ha cercato di accedere con i dati sbagliati per 3 volte", "Ciao amministratore\r\nqui qualcosa non quadra: ci sta un tipo che vorrebbe entrare nella tua area riservata, ora ci ha provato con $_POST[Username] e $_POST[Password]...chissà cosa si inventerà adesso...ciau!");
}

# PRENDIAMO DAL PROBABILE FORM DOVE INSERIRE USERNAME E PASSWORD I DATI...
$Username = $_POST[Username];
$Password = $_POST[Password];

# FACCIAMO UN MINIMO DI PULIZIA
#consiglio htmlentities, addslashes, e verifica se i dati sono vuoti...

$Username = htmlentities($Username);
$Password = htmlentities($Password);

# creiamo il formato che ci serve come verifica nel tuo database testuale....
$Verificami = $Username . ":" . $Password

# adesso $script è una variabile array...
$script = explode("\n", file_get_contents("/path/filepassword"));


# APRIAMO UN CICLO PER OGNI SINGOLO VALORE DI SCRIPT...
for ($i=0; count($script) > $i; $i++){

if (ereg($Verificami, $script[$i])){
#TUtto ok, utilizzi un redirect con header("Location: download.php o altro...")
echo "Tutto ok!!! lo conosco, è amico mio...";

} else {

# potresti salvare qui una sessione con il numero di tentativi...
if (!session_is_registered(tentativo)){
$_SESSION[tentativo] = 0;
} else {
$_SESSION[tentativo] = $_SESSION[tentativo]+1;
}


}
}

il codice è scritto di getto, dovrebbe essere ok, provalo e se non funziona posta gli errori che riscontri e ne discutiamo...

saluti
Manu
 
Discussioni simili
Autore Titolo Forum Risposte Data
S passare un valore da un form a un file .php con metodo post PHP 4
K Form che manda dati doppi PHP 1
K Problema form update PHP 2
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
K form Inserimento record mysql PHP 2
I Form con selettore HTML e CSS 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
D Form contatti non funzionante HTML e CSS 0
A Stampare dati da form PHP 8
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
I Form HTML e CSS 17
otto9due $_FILE non passa i dati dal form PHP 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
felino Form action costum e parametri in queryString WordPress 1
M Come recuperare molteplici input form PHP 1
M Collegamento tra form html e script php PHP 4
L form immagini per il database PHP 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L inserimento form dati multipli ? PHP 0
L Problemi form Pagina php HTML e CSS 3
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
D Devo far funzionare un form di contatti PHP 4
B form gestione input PHP 2
V PHP form intersecate PHP 0
8 Javascript - PDF Form Javascript 0
J Form inserimento dati in database Ajax 1
E Gestione profilo utente tramite Form PHP 3
R [C#] Form principale si blocca mentre un altro Thread lavora .NET Framework 0
M Problema con controllo form in real time jQuery 6
D Form validazione Javascript 2
R form recovery pass PHP 0
V Symfony e i form PHP 3
M form con checkbox PHP 8
S come aggiustare un form di contatto? HTML e CSS 3
F query e form con select multipla PHP 17
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
A Inserimento dati nel database tramite form + altre operazioni PHP 18
websilvia Contact form using Bootstrap 3.3.4 PHP 8
Alex_70 Button non funziona nella form PHP 2
C Form email php su pagina index.html? PHP 21
W Rinominare Documenti Con Form Asp Classic ASP 9
S Invio email da form PHP 8
L form multipla php sql,errore in inserimento MySQL 0
L inviare i dati di un form ad un database PHP 6
L Collegare un form html ad un database access Javascript 2

Discussioni simili