Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione
Nothing propone sul mercato non uno ma ben due auricolari nuovi: Ear di terza generazione e Ear (a) ossia un nuovo modello a basso costo pronto a ritagliarsi una fetta di mercato. Entrambi rimangono fedeli al marchio per il design ancora trasparente ma fanno un balzo in avanti notevole per qualità e soppressione del rumore.  
Sony FE 16-25mm F2.8 G: meno zoom, più luce
Sony FE 16-25mm F2.8 G: meno zoom, più luce
Il nuovo Sony FE 16-25mm F2.8G si aggiunge all'analogo 24-50mm per offrire una coppia di zoom compatti ma di apertura F2.8 costante, ideali per corpi macchina altrettanto compatti (vedi A7c ) e fotografia di viaggio.
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione
Motorola è decisa sulla sua strada: questo nuovo edge 50 Pro non guarda a specifiche stellari ma considera di più l’aspetto estetico. E si propone elegantemente con linee sinuose e un sistema operativo veloce. Peccato per un prezzo un po' fuori mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-05-2021, 11:17   #1
Legolas84
Senior Member
 
L'Avatar di Legolas84
 
Iscritto dal: Sep 2002
Città: Orizzonte degli eventi
Messaggi: 22296
Parere su sicurezza login su webapp PHP

Ciao, ho scritto una webapp in PHP che si appoggia ad un database mysql con PHPmyAdmin.

La web App richiede un Login e volevo un parere sulla robustezza della sicurezza del mio sistema ed eventualmente un consiglio per migliorarla nel caso fosse insufficiente.

Allora, per prima cosa l'Admin crea gli utenti e gli conferisce un livello utente (admin, superuser, user).
Sul database vengono salvati i dati utente compreso il livello e la password codificata con Argon2ID.

A questo punto l'utente può fare il login, il sistema di login confronta username e password con quanto salvato sul database e se corrisponde istanzia diverse variabili di sessione che riguardano l'utente, tra cui nome utente, e il suo livello. Tutte le pagine successive della webapp hanno in testa un controllo che verifica se esistono alcune di queste variabili che vengono istanziate solo in caso di login positivo. Se esistono e si tratta di una pagina che ha un livello di accesso elevato, il sistema controlla anche che la variabile di sessione "livello" dell'utente sia adeguata.

Se tutti i controlli vanno a buon fine il sistema genera la pagina. Se anche solo uno va male (mancano delle var di sessione o il livello non è adeguato), lo script reinvia l'utente all'index.php

Bene.... a che rischi mi espongo? Eventualmente come lo posso migliorare?

Grazie!
Legolas84 è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2021, 10:00   #2
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12580
Ciao, premetto che non sono esperto di PHP, ma così ad occhio non hai specificato se usi un sale e come lo generi per fare l'hash della password.

Il mio consiglio ovviamente è quello di generare un sale random (qui bisogna vedere se PHP ti consente di farlo in maniera robusta) per ogni utente, quando l'Admin aggiunge l'utente al DB (o l'utente re-imposta la password).

Insieme a nome utente e password quindi va memorizzato nel DB anche il sale in chiaro, che userai ogni qual volta devi calcolare l'hash per il determinato utente.

In questo modo ti proteggi da attacchi a dizionario, nella sciagurata ipotesi che il DB venisse compromesso. Questo riduce anche la possibilità che due utenti con la stessa password abbiano associato lo stesso hash.

Detto questo, credo che la parte più sensibile sia la sessione, che non ricordo sinceramente come viene gestita in PHP.

Ti rimando a: https://www.php.net/manual/en/featur...management.php

Probabilmente vuoi avere un unica variabile, ID di sessione, con cui identificare univocamente la sessione dell'utente.

Edit: segnalo anche questi link ->

http://phpsecurity.org/

https://en.wikipedia.org/wiki/Session_fixation

Ultima modifica di WarDuck : 14-05-2021 alle 10:06.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2021, 10:06   #3
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 2990
Sicuramente che tutto il traffico viaggi sotto HTTPS.
Poi se fai anche un controllo con il campo referrer che provenga sempre dal tuo dominio... penso che così non ci sia altro.
Ultima cosa è verificare che non ci sia qualche vulnerabilità di tipo sql injection o xss script.
Magari anche un captcha in home page per evitare i brute force?

Infine parli di phpmyadmin: ecco che questo non sia accessibile dall'esterno sarebbe un ottima cosa.
Detto questo non mi viene in mente altro..
Kaya è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione Nothing Ear e Ear (a): gli auricolari per tutti ...
Sony FE 16-25mm F2.8 G: meno zoom, più luce Sony FE 16-25mm F2.8 G: meno zoom, più lu...
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione Motorola edge 50 Pro: design e display al top, m...
Ecovacs Goat G1-800, mettiamo alla prova il robot tagliaerba facile ed efficace Ecovacs Goat G1-800, mettiamo alla prova il robo...
ASUS ProArt 1, un PC completo ad altissime prestazioni per creator e non solo ASUS ProArt 1, un PC completo ad altissime prest...
SYNLAB sotto attacco: sospesa l'attivit&...
BYD Seal U, primo contatto. Specifiche, ...
Intel ha completato l'assemblaggio dello...
Cina: aumenta del 40% la produzione di c...
GPT-4 quasi come un oculista: in un test...
Prezzi super per gli Apple Watch SE di s...
L'intelligenza artificiale ruba posti di...
The Witcher 3: disponibile su Steam il R...
Xiaomi 15: trapelano importanti specific...
Fallout 5? Meglio aspettare la seconda s...
Motorola Edge 50 Pro è ora disponibile s...
La tecnologia digitale sta trasformando ...
ASUSTOR presenta ADM 4.3 con nuove funzi...
S8 MaxV Ultra e Qrevo Pro: i nuovi aspir...
Goldene: creati, per la prima volta, fog...
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: 02:10.


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