Molti siti utilizzano una pagine web basate su PHP per accedere a informazioni archiviate in un database MySQL , come i siti di e-commerce o bacheche . Nessun sistema di sicurezza è impeccabile. Tuttavia, quando si crea un sito web che utilizza un PHP e MySQL modulo di login, comprende funzioni di sicurezza , da account utente alla crittografia dati di log relativi tentativi di login . Questo non solo aiuta a prevenire gli attacchi online, ma può anche contribuire a migliorare la sicurezza utilizzando le note dettagliate , se mai il vostro sito viene hackerato . Login e password
Molte aziende stanno richiedendo gli account utente di avere le password "forti" . La definizione di una password varia, ma di solito comprende una combinazione di lettere maiuscole e minuscole , valori numerici e caratteri speciali . Questi rendono più difficile da indovinare le password . Quando un utente tenta di accedere al vostro database MySQL attraverso un form PHP e fallisce, non essere specifico circa il motivo per cui non sono riusciti . Basta dire all'utente che l' accesso non è riuscito. In questo modo non si stanno dando informazioni in più a potenziali hacker.
Data Encryption
Se si mantiene un database con le informazioni di accesso dell'utente , assicurarsi di crittografare i dati. Lasciando nomi utente e password in chiaro è rischioso , soprattutto se una persona non autorizzata ottiene l'accesso al database . PHP ha una funzione chiamata " sha1 ( ) ", che converte una stringa come una password per il suo valore di hash SHA-1 . Salva questo valore in MySQL . Quando un utente tenta di accedere tramite PHP , è possibile utilizzare il sha1 () per convertire la password SHA -1 e confrontare il suo valore a quello del database . Gli hacker che hanno accesso alla banca dati non sarà possibile visualizzare le password effettive.
PHP Funzioni
gestire gli errori di PHP in modo da mantenere le informazioni per l'utente al minimo. Ad esempio, utilizzare il simbolo " @ " prima funzione PHP chiama così come la funzione " die ( ) " - per esempio " @ mysql_connect ( ... ) or die ( " Connessione non riuscita "); " - quindi se che la funzione non riesce a eseguire per qualche motivo , l'utente visualizza un messaggio di errore che si desidera loro di vedere , non quello che fornisce più informazioni di quanto ha bisogno di sapere . Inoltre, quando il passaggio di informazioni , quali nomi utente e password da una pagina PHP a un altro , utilizzare la funzione PHP " $ _POST " per mantenere le informazioni invisibili all'utente , piuttosto che la funzione " $ _GET ", che lo visualizza nella barra degli indirizzi .
MySQL logs
Durante il monitoraggio di informazioni di accesso , il mantenimento di registri di dati può andare un lungo cammino nel rintracciare i problemi di sicurezza e di contribuire a indicare i fori . Le ulteriori informazioni si accede , meglio si può correggere i problemi . Come minimo , tenere traccia del numero di volte che una persona accede a un sistema e timbrare almeno l'ultimo tentativo di collegamento con la data e l'ora , e salvare queste informazioni in una tabella MySQL . Limitare l'accesso ai vostri registri e , limitando il numero di persone che possono visualizzare o modificare .