il login in php è sicuro?

  • Creatore Discussione Creatore Discussione max_400
  • Data di inizio Data di inizio
Se gli input sono filtrati a dovere non ci dovrebbero essere problemi, tieni conto che molto dipende anche dalla configurazione del Web server e da come gestisce chiamate e risposte.
 
questo è lo script

Codice:
if($password=="banana"){
header("Location: ./nomecartella/file.rar");
}else{
 echo "Devi essere iscritto per poter scaricare il file";
}

il file rar si trova in una cartella a parte

grazie.

PS non riesco più a trovare il gatto
 
Ultima modifica:
Mi permetto di aggiungere qualche nota,in realtà "sicuro" è un'affermazione forte. Una tecnologia come uno specifico progetto può avere un certo grado di sicurezza ma non esiste la sicurezza di per sè...

Per l'esempio sotto-riportato è vulnerabile poichè un'utente malintenzionato potrebbe progettare un'applicazione in stile bruteforce che effettua molte richieste post basandosi su una word-list al fine di ottenere l'accesso.

Per impedire quanto sopra occorre:
-definire una policy di numero di tentativi errati, dopo 3, ad esempio impedisce l'autenticazione per quella sessione o al quell'ip.

-è preferibile, in aggiunta alla password prevedere un meccanismo di captcha che seppur non sicurissimo incrementa il livello di sicurezza.

-in aggiunta il fatto che il file sia in una determianta cartella fisso fa sì che conoscendo il path posso evitare l'autenticazione; questo è ovviabile impostando le password del webserver per accedere al file.


Ciao, Ciro
 
Grazie 1000 - Lotus

è molto interessante

Io conosco poco php
conosco anche il database di mySQL.

Avresti qualche script di autenticazione sicuro
qualkosa dsi semplice e poche righe?

Mi piace il sistema dei tentativi... ma non ho idea
di come sia la sintassi

avrei bisogno un fom invio e ricezione tutto in php e con il numero di tentativi

un meccanismo di captcha
non nè ho idea :book:


ultime due cose:
- e se la password viene estratta da un database (mySQL) col SELECT e poi confrontata con quella che scrive l'utente? Non so magari... (tiro ad indovinare) mettere l'allegato dentro il database in una tabella o magari il link... bò...
- oppure le sessioni?... bò attendo vostro aiuto!

Grazie infinite
 
Ciao Max,

in realtà la scelta dipende per lo più da quali dati tu ospiti e le cose che gestisci sul tuo sito\portale. Faccio un esempio, se il file da scaricare contiene informazioni non critiche un approccio che garantisca una media sicurezza va più cvhe bene...

se contiene i dati del tuo conto corrente, assolutamente NO!

In generale ci sono una serie di accorgimenti di cui devi tener conto, in primo luogo nel DB le PASSWORD NON SI MEMORIZZANO MAI IN CHIARO, MAI!, la cosa migliore è memorizzarle con algoritmi quali md5, sha, etc.

A questo indirizzo trovi un articolo per utilizzare i captcha nella tua pagina:
https://www.mrw.it/sicurezza/articoli/usiamo-recaptcha-protegere-nostre-web-application_957.html

Per quello che concerne qualcosa di già fatto non ti ho trovato nulla, tanto meno di semplice, in ogni caso aggiungere vari controlli difficilmente ti porterà a qualcosa di semplice tuttavia a questo indirizzo mi sembra ci sia qualche istruzione per limitare attachi come bruteforce:
http://www.mtxweb.ch/php_learn/?p=1071

In ogni caso puoi provare o a cimentarti tu chiedendo man mano consigli sul forum o, se hai la possibilità, a offrire una richiesta di collaborazione retribuita (o no) all'interno della sezione annunci.

Ciao, Ciro
 
Grazie moltissimo,

era proprio quello che volevo sapere...

Temo che gli script saranno un po' lunghetti... :confused:

Una volta ho visto un programma che trovava le password dei file.rar
cioè comprimi un file in rar e metti una password per evitare l'estrazione dei files in esso contenuti... è solo una questione di tempo.


Invece per login e password brutus
comunque per fortuna non ho grandi cose da proteggere.

Il ReCAPTCHA mi sembra opportuno per fare questo sistema automatico.

Se in caso hai altre informazioni o script me lo fai sapere? :book:

Grazie di tutto.
Ciao.
 
per approfondire con qualcosa di semplice e breve potresti studiarti il codice presente in questo mio vecchio articolo
 
Ultima modifica:
Ciao,

su mrwebmaster.it trovi vario materiale sui captcha ed in particolar modo recaptcha, che ti consiglio come detto già da alex, prova a lavoare su questo se dovessi avere problemi puoi sempre postare una richiesta di supporto.

Ciao, Ciro
 
ok

ma c'è un particolare che stavo saltanto
l'esempio in questione è pulsante animato
quindi un filmato swf che si trova impaginato
nel mio browser.
Volendo si può risalire all'indirizzo del file swf
guardando il sorgente pagina (però ce ne sono
tanti indirizzi bisogna conoscere il nome)
http://max400.forumfree.it/?t=50775208#lastpost

___________
poi altra cosa...
nel mio forum ci sono delle sezioni protette da password
ma tramite dei programmi brutal force (brutus) si possono scoprire?
http://max400.forumfree.it/
in basso
"Aree Riservate Utenti Speciali - Messaggi"
5 sezioni protette... c'è un catenaccio

@Eliox: dovresti fare un fotomontaggio al tua avatar...
è spaventoso.. l'altra volta il mio gatto mi ha graffiato,
ed è scappato via... è volato dalla finestra... ih ih ih
almeno compri la faccia...o i dentini.. le tette puoi lasciarle.

@lotus: per quanto riguarda il numero di tentativi tipo massimo 3
basterebbe un semplice 'if' con una variabile numereica che aumenta fino
ad arrivare a 3 dopo di che l'azione da seguire... tipo ritorno alla pagina di errore
oppure 'la sessione è scaduta'
 
numero tentativi

Script originale
Codice:
<?php 
session_start();

if($_POST)
{
	if($_POST['txt_captcha']!="")	{
		
		if($_POST['txt_captcha']==$_SESSION['session_captchaText'])		{	
			echo("Sei umano");
		}else{
			echo("sei un bot");			
		}

	}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CAPTCHA TEST</title>
</head>

<body>
<p><img src="captcha.php" alt="captcha codice" name="captcha" width="233" height="49" id="captcha" /></p>
<p>Inserisci il testo che vedi nell'immagine:</p>
<form id="form1" name="form1" method="post" action="">
  <p>
    <input name="txt_captcha" type="text" id="txt_captcha" />
</p>
  <p>
    <input type="submit" name="Submit" value="INVIA" />
</p>
</form>
</body>
</html>


dunque io metterei una variabile numerica con il valore 3
ogni volta che l'utente sbaglia viene sottratto -1
quando si arriva a 0 si ritorna all'homepage.

Codice:
$numero=3;
}else{
	echo("sei un bot");
	$numero=$numero-1;
if(numero <= 0){
header("Location: indirizzo_homepage.it");
}		
	}
il numero diminuisce una volta sola.
Sicuramente lo script è sbagliato ma è tanto per dare l'idea
si può fare?

---- aggiornamento-------
ho provato cosi
Codice:
<?php 
session_start();
$numero=3;
echo "numero: $numero ";
if($_POST)
{
	if($_POST['txt_captcha']!="")	{
		
		if($_POST['txt_captcha']==$_SESSION['session_captchaText'])		{	
			echo("Sei umano");
		}else{
			echo("sei un bot");
                        $numero=$numero-1;
                        echo("<br> numero: $numero");
                        if($numero <=0){
                        echo " fine tentativi";
                               }
			
		}

	}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CAPTCHA TEST</title>
</head>

<body>
<p><img src="captcha.php" alt="captcha codice" name="captcha" width="233" height="49" id="captcha" /></p>
<p>Inserisci il testo che vedi nell'immagine:</p>
<form id="form1" name="form1" method="post" action="">
  <p>
    <input name="txt_captcha" type="text" id="txt_captcha" />
</p>
  <p>
    <input type="submit" name="Submit" value="INVIA" />
</p>
</form>
</body>
</html>

il numero diminuisce una volta sola e poi
la parte finale
}else{
echo("sei un bot");
$numero=$numero-1;
echo("<br> numero: $numero");
if($numero <=0){
echo " fine tentativi";
}


}

}

non so se è giusto... bò
http://maxgiulia.altervista.org/max/09-settembre10/captcha/index.php
 
Ultima modifica:

Discussioni simili