Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tesla Model 3 Standard Range Plus contro Long Range: quale scegliere?
Tesla Model 3 Standard Range Plus contro Long Range: quale scegliere?
Tra gli appassionati che sono orientati a passare ad un veicolo elettrico le discussioni su quale acquistare tra le due versioni di Tesla Model 3, Standard Range Plus e Long Range, sembrano non avere mai fine. Le abbiamo provate, rilevandone differenze, prestazioni e autonomia cercando di dare risposta alla domanda di quale vada bene per quale utente
Made in IT: un approccio unico alle startup
Made in IT: un approccio unico alle startup
Innovation Factory, l'incubatore di startup di Area Science Park, si distingue dai tanti per l'approccio, che mira ad accompagnare le realtà innovative nel loro percorso di crescita, aiutandole a elaborare un modello di business che funziona e a trovare i contatti giusti per crescere. Fra i progetti attivi, Made in IT - la missione italiana al CES - e il supporto ai progetti Innovation First e Prospera Women
Laser TV Hisense 120L5F-A12: 120 pollici posson bastare?
Laser TV Hisense 120L5F-A12: 120 pollici posson bastare?
Con ben 120 pollici di superficie di proiezione il Laser TV Hisense 120L5F-A12 rappresenta un unicum nel mercato: la praticità di un televisore con il coinvolgimento di un videoproiettore, ad un prezzo accessibile
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: 21252
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!
__________________
PC: AMD Ryzen 5 3600 | Asus B550- Plus Prime | 4x4GB DDR4 2666 G.Skill | ASUS NVIDIA GeForce GTX 970 Strix | Sound Blaster Z | Seasonic 1KW Platinum | Samsung 850Pro 256Gb + 850Evo 500Gb + 1,5TB WD CB | CM MB600L | ASUS ROG PG348Q | Razer DeathAdder + Kabuto + BlackWidow + Logitech Z-5500 + Turtle Beach Z60 |
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: 11868
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
__________________
Scythe Ninja 4 | Intel Core i5-6600k | ASUS Z170 Pro Gaming | 16GB DDR4 2400 CL12 kingston savage | EVGA GTX1060 SC 6GB | OCZ Vertex2 60g | WD 2tb | Dell UltraSharp U2518D | UAC: 1 2 | Win10 e aggiornamenti | Arch Linux | Dogmi

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: 2163
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


Tesla Model 3 Standard Range Plus contro Long Range: quale scegliere? Tesla Model 3 Standard Range Plus contro Long Ra...
Made in IT: un approccio unico alle startup Made in IT: un approccio unico alle startup
Laser TV Hisense 120L5F-A12: 120 pollici posson bastare? Laser TV Hisense 120L5F-A12: 120 pollici posson ...
Laboratorio di Videogiochi: abbiamo creato un gioco di calcio su Nintendo Switch Laboratorio di Videogiochi: abbiamo creato un gi...
Luminar Ai, arriva Ai-Bokeh a gestire lo sfocato Luminar Ai, arriva Ai-Bokeh a gestire lo sfocato
Il GAO dà ragione a SpaceX e NASA...
Musk: Apple usa cobalto nelle batterie d...
Camion elettrici Nikola: durante le pres...
Il ritorno di 3dfx: annuncio previsto pe...
Elon Musk avrebbe chiesto di diventare C...
Un video musicale creato con la Modalità...
Il prossimo prodotto di Facebook saranno...
Pilotava droni a 2 km di altezza: denunc...
Multa a Google per non aver custodito i ...
IBM installa un nuovo computer quantisti...
Sconfitta legale per Tesla in un caso su...
Amazon, tutte le offerte del weekend: oc...
NUC 11 Extreme Kit è il nuovo min...
Accensione imprevista dei motori di mano...
Monitor gaming: i pannelli a 480 Hz potr...
Advanced SystemCare Ultimate
VirtualBox
EVGA Precision X1
Avast! Free Antivirus
AVG Antivirus Free
AVG Internet Security
Sandboxie
IObit Uninstaller
Radeon Software Adrenalin 21.7.2 beta
HDClone Free Edition
Audacity
Chromium
Memtest86 Free
Advanced SystemCare
PeaZip
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: 17:59.


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