Visualizza messaggio singolo
  #1 (permalink)  
Vecchio 16-05-2007, 20.40.35
kitemm kitemm non è connesso
Junior Member
 
Data registrazione: 16-05-2007
Residenza: parma
Messaggi: 1
kitemm is on a distinguished road
Predefinito Area riservata - Limitazione tentativi inserimento

Ciao a tutti,
premetto che non sono molto pratico di Php, anzi direi quasi per niente, e per questo vi ringrazio tantissimo in anticipo dell'aiuto che potrete darmi.
Nel mio sito sto creando un'area riservata con un file login.php e utenti.php
i loro codici sono i seguenti:
Login.php

Codice:
<?
if (isset($_COOKIE[session_name()])) setcookie(session_name(), '', time() - 90000); 

?>
<div align="center">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Area Riservata - Login</title>
</head>
<?

function check($user,$password){
  include("../pagine_riservate/utenti.php");
  foreach($utenti as $user_ => $password_){
   if (($user==$user_) AND ($password==$password_)) {
    return true;
    }  
  } 
  return false;
}

function form_login(){
?>


</p>
<body background="../../images/sfondi/sfondo_area_riservata/sfondotabella.jpg">

  <table bgcolor="#CC9900">
    <tr>
      <td  style="border-style: double; border-width: 4px" bordercolor="#C0C0C0">
<form id="login" action="<?=$PHP_SELF?>" method="post" >
<p align="center">


<font color="#FFFFFF" face="Arial">User</font><font color="#FFFFFF" face="Andale Mono"> </font>
<font face="Andale Mono"><input type="text" name="utente" size="20">  

<font color="#FFFFFF" face="Arial">Password</font><font color="#FFFFFF" face="Andale Mono"> </font>
<input type="password" name="password" size="20">  

<input type="submit" value="   OK   ">
</p>
</form>

</td>
    </tr>
  </table>
  

<? }
if(isset($_POST["utente"])){
if (check($_POST["utente"],$_POST["password"]) And $_SESSION[tentativi] <= 5){
   session_start();
$_SESSION["tentativi"] = 0;
   $_SESSION["utente"] = $_POST["utente"];
   $_SESSION["password"] = $_POST["password"];
   if($_POST["utente"] == "pippo"){include("../pagine_riservate/pippo.php");}
   if($_POST["utente"] == "pepo"){include("../pagine_riservate/pepo.php");}
}else{
$_SESSION[tentativi]++;
   form_login();
   echo "
\n";
   echo "User o Password errati oppure hai esaurito il numero di tentativi a disposizione.
";
echo "Attualmente hai utilizzato ". $_SESSION[tentativi]."tentativi dei 5 a disposizione";
   echo "
\n";
   echo "accesso non eseguito";
}

}else{  
  form_login();
   
}
?> 
  

</body>
</html>
</div>
utenti.php

Codice:
<?
/*
Per aggiungere un nuovo utente scrivere:
 $utenti["nome_utente"] = "password";
Ad esempio, se si vuole aggiungere l'utente mario con password rossi, scrivere:
 $utenti["mario"] = "rossi";
*/
$utenti["pippo"] = "pippo";
$utenti["pepo"] = "pepo";
?>
arrivo al dunque...
quello che non riesco proprio a fare ? un controllo che mi permetta di limitare il numero di tentativi di accesso a 4-5 e quindi far scomparire la maschera di inserimento user e password al cui posto visualizzare un messaggio del tipo NUMERO MASSIMO DI TENTATIVI RAGGIUNTO.

Il problema che si verifica ? che se inserisco i user e pass corretto entra tranquillamente, mentre se inserisco dati non corretti la limitazione al numero di tentativi di accesso non funziona...ossia l'utente pu? provare ad inserire user e pass quante vuole...

Il link in cui provare quello che sto cercamdo di spiegare a parole ?:

parmarealestate.altervista.org

cliccando in area riservata del menu orizzontale.

E poi se fatta in questo modo tale tipo di area riservata ? abbanstanza sicura?

Vi ringrazio in anticipo dell'aiuto che potrete darmi.
Ciao..
Kite
Rispondi citando