|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 611
|
Sicurezza sui siti
Ciao,
mi è stato chiesto di fare un sito in asp.net 2.0 e di modificarne un'altro in php. Non ho grossi ostacoli per quanto riguarda la sintassi o il metodo con cui sviluppare, ma mi è stato chiesto di farli molto "sicuri". So che è un argomento molto complesso e qualcosa so già, ma vorrei da voi dei consigli su come evitare di fare errori. Ad esempio so che nelle stringhe sql è meglio usare i parametri per evitare le sqlinjection. Mi è stato chiesto di cryptrare le password in md5 o sha e controllare che le password inserite rispettino alcuni parametri di affidabilità (minimo 5 caratteri, almeno 1 lettera e 1 numero e 1 carattere speciale). Cos'altro potrei fare? Quali sono le ultime tecniche per stare un pò tranquilli? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
|
Aggiungerei di criptare le password già a livello client con sha1 (javascript)
edit: la sintassi é semplice: Codice PHP:
Ultima modifica di ianaz : 27-11-2006 alle 11:28. |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Oct 2005
Città: Palermo
Messaggi: 2579
|
Quote:
non esiste e non esisterà mai un sito sicuro: è un problema non decidibile. Questa è una delle cose che si imparano ad ingegneria. L'unica cosa che puoi fare è usare le tecniche a tua disposizione e tenerti informato riguardo le falle nella sicurezza che vengono via via scoperte.
__________________
Utente gran figlio di Jobs ed in via di ubuntizzazione Lippi, perchè non hai convocato loro ? |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 611
|
Quote:
La mia domanda è... "oltre a dire session("livelloutente") = "admin" posso fare altri controlli?" |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Facendo lo sha1 della password hai lo stesso livello di sicurezza rispetto ad inviare la password in chiaro... Semmai sarebbe un minimo più sicuro fare cleint side l'hash della password insieme ad un codice generato casualmente. Lo stesso hash lo metti nella sessione e così puoi fare il confronto fra l'hash server side e client side. E questo cofnronto ha validità solo per quella istanza della form. |
|
|
|
|
|
|
#6 | ||
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
Quote:
Quote:
scusa le domande, ma non ne so quasi niente di ste cose e vorrei iniziare a capirci qualcosina |
||
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
Quote:
|
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
|
Quote:
intendevo farlo lato client... Ad esempio con una roba tipo Codice PHP:
__________________
zattix Ultima modifica di ianaz : 27-11-2006 alle 19:53. |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Se io carpisco ascoltando l'invio della form quel af7f864e23123debca7 è come se avessi la password...infatti successivamente mi basterà inviare af7f864e23123debca7 e mi sarò autenticato come te Con il codice condiviso fra client e server è più complicata la cosa perchè anche se l'avversario ha il codice (che è stato inviato in chiaro) comunque non ha la password perchè ce l'ha solo il client |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Boh...chi lo sa, bisogna mettersi ad analizzare il sito...inoltre lì c'è anche un altro elemento importante... Bisogna vedere come è fatto il protocollo dell'IM... Se l'IM vuole la password in chairo non posso usare i fingerprints...
|
|
|
|
|
|
#14 | ||
|
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
Quote:
Quote:
cambiando discorso invece, come controlli i privilegi? pagina per pagina? hai una pagina che li controlla e poi reindirizza di conseguenza? i link alle varie pagine li visualizzi sempre e comunque o li visualizzi solo quando un utente è abilitato? magari questo può darti qualche spunto... o magari no ![]() 'iao |
||
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
XD sono più veloce di un fulmine a rispondere
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
L'ideale sarebbe non rendere l'autenticazione persistente (hai presente questo sito ?) tramite i cookie, ma se proprio lod evi fare...salva nei cookie un hash...potrebbe essere l'hash di qualcosa che te ti calcoli lato server... Ad esempio:
cookie = sha1("codice segreto".password.username.lastlogin) In questo modo il cookie lo puoi cambiare ogni volta che crei una nuova sessione, in pratica ogni volta che al momento di validare l'utente lo trovi già in possesso del cookie... Ovviamente aggiorni anche il campo lastlogin... Questa cosa ti permette di far cambiare ad ogni login il cookie di autenticazione... Non è il massimo, ma meglio di niente... Senza contare che se un utente si trovasse non autenticato significa che qualcuno è entrato prima di lui con le sue credenziali (gli hanno fregato il cookie o semplicemente si è loggato da un altro PC o da un altro browser), quindi in teoria gli potresti proporre di cambiare la password invalidando automaticamente tutti gli altri cookie... |
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Oct 2005
Città: Palermo
Messaggi: 2579
|
Quote:
In ogni caso puoi provare a criptare i dati creando un tuo personalissimo algoritmo e autenticare l'utente veribicando il + possibile la correttezza dei dati inseriti. Per il resto a meno che tu non possa fare una scansione retinica ed un analisi del dna non c'è molto altro che tu possa fare, nemmeno memorizzare il codice mac della scheda di rete. P.S. in ogni caso quando all'uni si affermano cose che per te sono empiricamente note si suffragano anche dalle dimostrazioni, ti consiglio di dare un occhiatina al concetto di insiemi ricorsivamente enumerabili e di insiemi ricorsivi, giusto per capire perchè non esisteranno mai programmi in grado di verificare la correttezza di se stessi e di altri programmi.
__________________
Utente gran figlio di Jobs ed in via di ubuntizzazione Lippi, perchè non hai convocato loro ? Ultima modifica di giannola : 27-11-2006 alle 21:03. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:19.




















