Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Zenfone 11 Ultra ha tantissime qualità interessanti, fra cui potenza da vendere, un display di primissimo livello, un comparto audio potente e prestazioni di connettività fra le migliori della categoria. Manca però dell'esclusività del predecessore, che in un settore composto da "padelloni" si distingueva per le sue dimensioni compatte. Abbiamo provato il nuovo flagship ASUS, e in questa recensione vi raccontiamo com'è andata.
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Abbiamo partecipato ad Appian World 2024, evento dedicato a partner e clienti che si è svolto recentemente nei pressi di Washington DC, vicino alla sede storica dell’azienda. Nel festeggiare il 25mo anniversario, Appian ha annunciato diverse novità in ambito intelligenza artificiale
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Primo contatto con il monitor Lenovo ThinkVision 3D 27 che grazie a particolari accorgimenti tecnici riesce a ricreare l'illusione della spazialità tridimensionale senza che sia necessario utilizzare occhialini
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: 22307
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: 2993
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


Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone' Recensione Zenfone 11 Ultra: il flagship ASUS ri...
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA Appian: non solo low code. La missione è ...
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini Lenovo ThinkVision 3D 27, la steroscopia senza o...
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
Sta per succedere! La prima gara a guida...
Parthenope: un nuovo RPG investigativo t...
Urbanista Malibu: ecco come va la cassa ...
Gas Station Simulator è costato 1...
AOC Graphic Pro U3, tre nuovi monitor pe...
Wacom Movink: per la prima volta il disp...
HPE Aruba presenta i nuovi access point ...
Lamborghini presenta Urus SE, prima vers...
Scuderia Ferrari e HP insieme: ufficiale...
Snapdragon X Plus, un nuovo SoC per i no...
L'iPad 10,9'' 64 GB è sceso a meno di 40...
Steam: basta ai furbetti dell'accesso an...
Motorola Edge 40 Neo con fotocamera da 5...
Arriva Kasperksy Next, la nuova gamma di...
Fallout, un successo senza fine: 1 milio...
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: 07:25.


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