PHP og MySQL Pålogging Security

Mange nettsteder bruker en PHP-baserte websider for å få tilgang til informasjon som er lagret i en MySQL database, for eksempel e-handel nettsteder eller oppslagstavler. Ingen sikkerhetssystem er feilfri. Men når du oppretter en nettside som bruker en PHP og MySQL login form, har sikkerhetsfunksjoner, fra brukerkontoer til informasjon kryptering til loggene om påloggingsforsøk. Dette ikke bare bidrar til å hindre nettangrep, men kan også bidra til å forbedre sikkerheten ved hjelp av detaljerte notater om noen gang nettstedet er hacket.

Innlogging og passord

Mange bedrifter krever brukerkontoer for å ha "sterk" passord. Definisjonen av et sterkt passord varierer, men inkluderer vanligvis en kombinasjon av store og små bokstaver, numeriske verdier og spesialtegn. Disse gjør det vanskeligere å gjette passord. Når en bruker prøver å logge inn på din MySQL database via en PHP form og mislykkes, ikke være konkret om årsaken til at de ikke klarte. Bare fortelle brukeren at påloggings var mislykket. Denne måten du ikke gir ekstra informasjon til potensielle hackere.

Kryptering av data

Hvis du opprettholder en database med brukerpåloggingsinformasjonen, må du kryptere data. Leaving brukernavn og passord ukryptert er risikabelt, spesielt hvis en uvedkommende får tilgang til databasen. PHP har en funksjon som heter "SHA1 ()", som konverterer en streng som et passord til sin SHA-1 hash-verdi. Lagre denne verdien i MySQL. Når en bruker prøver å logge inn via PHP, kan du bruke SHA1 () -funksjonen til å konvertere passord til SHA-1 og sammenligne verdien til den i databasen. Hackere som får tilgang til databasen vil ikke se de faktiske passord selv.

PHP-funksjoner

Håndtak PHP feil på en måte som holder informasjon til brukeren på et minimum. For eksempel bruke "@" -symbolet før PHP funksjonskall samt "die ()" funksjon - for eksempel "@mysql_connect (...) eller dø (" Kunne ikke koble ");" - Så hvis det ikke virker til å utføre en eller annen grunn, ser brukeren en feilmelding du vil at de skal se, ikke en som gir mer informasjon enn han trenger å vite. Også, når du passerer informasjon som brukernavn og passord fra en PHP side til en annen, kan du bruke PHP "$ _POST" funksjon å holde informasjonen usynlig for brukeren i stedet for "$ _GET" -funksjonen, som viser det i adressefeltet.

MySQL Logger

Når overvåking påloggingsinformasjonen, kan opprettholde datalogger gå langt i å spore sikkerhetsspørsmål og bidra til å indikere hull. Jo mer informasjon du logger, jo bedre kan du løse problemer. På et minimum, spore hvor mange ganger en person logger seg på et system og stempel minst siste logg i forsøk med dato og klokkeslett, og lagre denne informasjonen i en MySQL tabell. Begrens tilgang til loggene også, å begrense antall personer som kan se eller endre dem.