Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-11-2006, 10:36   #1
Stiwy.NET
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?
Stiwy.NET è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 11:26   #2
ianaz
Senior Member
 
L'Avatar di ianaz
 
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:
<script language="JavaScript">
stringa hex_sha1("stringa da criptare");
</script> 

Ultima modifica di ianaz : 27-11-2006 alle 11:28.
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 11:26   #3
giannola
Senior Member
 
L'Avatar di giannola
 
Iscritto dal: Oct 2005
Città: Palermo
Messaggi: 2579
Quote:
Originariamente inviato da Stiwy.NET
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?
nessuna.
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 ?
giannola è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 11:45   #4
Stiwy.NET
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 611
Quote:
Originariamente inviato da giannola
nessuna.
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.
Se è questo che insegnano sono contento di essermi fermato alle superiori... dai per favore... lo sanno tutti che non è possibile fare un sito completamente sicuro, ma si possono adottare delle tecniche e degli accorgimenti per evitare falle più o meno grandi. Ad esempio l'utente php non ha diritto di scrittura nelle cartelle del sito, può solo eseguire il suo codice e basta. In quelle cartelle non è possibile avviare eseguibili etc...
La mia domanda è...
"oltre a dire session("livelloutente") = "admin" posso fare altri controlli?"
Stiwy.NET è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 19:22   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da ianaz
Aggiungerei di criptare le password già a livello client con sha1 (javascript)

edit: la sintassi é semplice:

Codice PHP:
<script language="JavaScript">
stringa hex_sha1("stringa da criptare");
</script> 
Guarda, mi lascia alquanto dubbioso una soluzione del genere...
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.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 19:40   #6
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da cionci
Facendo lo sha1 della password hai lo stesso livello di sicurezza rispetto ad inviare la password in chiaro...
Perchè con sha1 è troppo facile trovare collisioni, perchè è reversibile, o cos'altro?

Quote:
Originariamente inviato da cionci
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.
e come ci si mette d'accordo sul codice ausiliario tra server e client?

scusa le domande, ma non ne so quasi niente di ste cose e vorrei iniziare a capirci qualcosina
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 19:41   #7
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da mad_hhatter
e come ci si mette d'accordo sul codice ausiliario tra server e client?

scusa le domande, ma non ne so quasi niente di ste cose e vorrei iniziare a capirci qualcosina
per caso è il server che invia il codice al client? e se si, come, in chiaro?
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 19:45   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da mad_hhatter
per caso è il server che invia il codice al client? e se si, come, in chiaro?
Sì...in chiaro... Non è un metodo sicuro, ma se non altro "ascoltando" soltanto la l'invio della form non si è in grado di carpire alcuna informazione segreta...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 19:46   #9
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Quote:
Originariamente inviato da cionci
Guarda, mi lascia alquanto dubbioso una soluzione del genere...
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.
Scusa, io ragionavo ad ajax inviando il form tramite quello

intendevo farlo lato client...
Ad esempio con una roba tipo

Codice PHP:
<script language="JavaScript">
function 
controlla(){
password hex_sha1(document.getElementById('password').value);
// Invia tramite ajax la password
}
</script>

<input type="password" id="password" name="password">
<input type="button" onClick="controlla();"> 
__________________
zattix

Ultima modifica di ianaz : 27-11-2006 alle 19:53.
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 19:56   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da mad_hhatter
Perchè con sha1 è troppo facile trovare collisioni, perchè è reversibile, o cos'altro?
Perchè se la mia password è "pippo" lo sha1 sarà af7f864e23123debca7...e di fatto ha la stessa segretezza della password...
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
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 19:58   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da ianaz
intendevo farlo lato client...
Ad esempio con una roba tipo
Come dicevo sopra non aggiunge alcuna sicurezza far passare il fingerprint al post della password in chiaro...perchè comunque riuscendo a prelevare il fingerprint posso autenticarmi lo stesso sul server inviando il fingerprint stesso...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 20:12   #12
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Non ci avevo pensato, verissimo...e come fanno ad esempio su meebo.com?
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 20:29   #13
cionci
Senior Member
 
L'Avatar di cionci
 
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...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 20:41   #14
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
Quote:
Originariamente inviato da Stiwy.NET
Se è questo che insegnano sono contento di essermi fermato alle superiori...

Quote:
Originariamente inviato da Stiwy.NET
La mia domanda è...
"oltre a dire session("livelloutente") = "admin" posso fare altri controlli?"
per quanto riguarda la trasmissione della password, senza scomodare l'SSL, non c'è molto da aggiungere a quello che ha detto cionci.
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
0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 20:48   #15
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
l'SSL cos'é esattamente?

edit: scusate, google migliore amico dell'uomo (SSL)
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 20:53   #16
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
Quote:
Originariamente inviato da ianaz
l'SSL cos'é esattamente?

edit: scusate, google migliore amico dell'uomo (SSL)
SSL
HTTPS
0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 20:53   #17
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
XD sono più veloce di un fulmine a rispondere
0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 20:54   #18
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Quote:
Originariamente inviato da 0rph3n
Questo rallenta di molto la connessione però, vero?
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 20:54   #19
cionci
Senior Member
 
L'Avatar di cionci
 
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...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2006, 20:59   #20
giannola
Senior Member
 
L'Avatar di giannola
 
Iscritto dal: Oct 2005
Città: Palermo
Messaggi: 2579
Quote:
Originariamente inviato da Stiwy.NET
Se è questo che insegnano sono contento di essermi fermato alle superiori... dai per favore... lo sanno tutti che non è possibile fare un sito completamente sicuro, ma si possono adottare delle tecniche e degli accorgimenti per evitare falle più o meno grandi. Ad esempio l'utente php non ha diritto di scrittura nelle cartelle del sito, può solo eseguire il suo codice e basta. In quelle cartelle non è possibile avviare eseguibili etc...
La mia domanda è...
"oltre a dire session("livelloutente") = "admin" posso fare altri controlli?"
forse hai male interpretato, ho detto che puoi fare un sito quanto più possibile scevro da falle (conosciute) e sicuro (rispetto ad hacker dilettanti), ma è inutile che ti scomodi troppo a cercare la "soluzione definitiva" perchè di qua a domani la tua soluzione potrebbe nascondere una falla.
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.
giannola è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Google Pixel 10a disponibile al prezzo m...
Microsoft Copilot nei guai: email riserv...
AOC a 399€ su Amazon: QD-OLED 240 Hz e 0...
La Cina ha recuperato dal mare il primo ...
Boeing CST-100 Starliner: la NASA rende ...
hiop e TaDa uniscono le forze per trasfo...
Thermal Grizzly mostra il Ryzen 7 9850X3...
AMD Ryzen 'Olympic Ridge' Zen 6 per desk...
Donald Trump renderà pubbliche in...
Prezzo mai visto da mesi: ECOVACS DEEBOT...
Non solo S26, Samsung sta per lanciare a...
Windows 11 avrà a breve uno Speed...
Ask Intel: l'assistente IA che ti aiuta ...
Nasce Freedom.gov: il portale USA per ag...
Bose QuietComfort SC a 179,95€: ANC legg...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v