39ro ha scritto:
Ciao ultrasound91, prima di tutto ti ringrazio per la tua risposta. Elenco di seguito una serie di domande per entrare nello specifico. Ringrazio in anticipo chiunque risponderà.
- 1) Per quanto riguarda la creazione del sito mi interesserebbe sapere quanta gente si potrebbe impegnare o meglio, mi basta un coder assassino che sia in grado in 5 mesi di crearmi una base del sito o è necessario un team di sviluppo? Se è necessario un team di sviluppo, come può essere composto questo team? Quanta gente è necessaria? Le loro funzioni? Prezzi medi per singolo ruolo?
2) Cosa intendi? La sicurezza viene legata unicamente alle righe di codice che vengono scritte e tutta la sicurezza sta nel modo in cui vengono criptate? Per quanto riguarda la sicurezza dei database?
La sicurezza in questo caso dipenderebbe unicamente da PHP e MYSQL.
3) Quali possono essere i modi di manomissione per manomettere od ottenere dati sensibili dal sito? Come è possibile difenderci?
4) Ho sentito parlare di certificazioni in HTTP e HTTPS, quali possono essere i Pro e i Contro dell'uno e dell'altro?
1. Alcuni moduli (tipo registrazione/login, gestione pagamenti online) possono essere riciclati da CMS (Content Management Systems) per e-commerce; in ogni caso, vista la delicatezza del progetto e i tempi richiesti, servirebbero almeno un programmatore per il front-end (l'interfaccia) e uno per il back-end (database e logica). Meglio ancora sarebbe avere una terza persona specializzata in database;
2. Non dipende solo da php e mysql. Bisogna anche garantire che le informazioni trasmesse tra utenti e sistema e viceversa non possano essere intercettate e lette. Vedi punto 4. Php e mysql servono principalmente per il punto 3;
3. Si può (e si deve) agire a vari livelli. Innanzitutto serve una procedura di login robusta, che non possa essere aggirata inserendo codici particolari nei campi (SQL injection) o con attacchi brute-force (provando tutte le username e le password possibili); la SQL injection va ovviamente prevenuta anche all'interno del sito, a valle del login. Poi sarebbe bene che gli utenti loggati non abbiano la possibilità di eseguire determinati tipi di query sul database (e questo si fa settando i privilegi dell'utente del database che viene usato per le connessioni dal sito).Infine si possono memorizzare dati aggiuntivi per ogni connessione (IP, timestamp login/logout, tentativi di inserimento password, ecc.) su cui si possono usare varie tecniche, tra cui tecniche di data mining, per cercare di trovare in automatico utenti malevoli;
4. HTTPS cripta tutte le informazioni trasferite tra utente e server e viceversa (a livello applicazione), per cui in generale è da preferire (forse aumenta un po' la quantità di dati trasferita, ma in genere non è un problema). Se bisognasse criptare solo la password si potrebbe fare anche con http, magari implementando un meccanismo di autenticazione a sfida, ma sarebbe inutilmente laborioso e comunque non cripterebbe il resto.