Skjulte Input farene med PHP

PHP skriptspråk er vanligvis en svært sikker programmeringsspråk, først og fremst fordi den ikke lider av buffer overflow-angrep, som språket ikke er basert i minnet. Det er imidlertid sikkerhetshull og skjulte farer med språket. På grunn av språkets enkelhet, kan enkelte programmerere tilfeldigvis la sårbarheter i koden. Ved bruk av input felt i PHP, er det visse ting du bør se opp for.

Cross Scripting nettstedet

Cross Site Scripting eller XSS er der du skriver innhold til PHP script, for eksempel en Javascript. XSS er svært nyttig, for eksempel, hvis du var å samle nyheter i en nettside. Likevel, hvis du har et skript som lar brukerne velge et sidetall, og de i stedet sette inn et skript til en ekstern kode, så XSS vil føre til sikkerhetshull. Legg en "strip_tags ()" i din PHP for å fjerne HTML-inngang.

SQL Injection

SQL Injection åpner for sikkerhetshull i databasen. I en brukerpålogging form, for eksempel, hvis du bruker en grunnleggende "password = '$ passord'" script, så hacker kan input " 'OR 1 = 1" i passordfeltet, og logg inn i databasen. Dette betyr at hacker kan taste inn en konto han vet brukernavnet for. Sett "mysql_real_escape_string ()" for å hindre at dette skjer.

Falske Form Input

Som med SQL Injection, hvis du har noen form for skjema som en "input" eller "textarea", så en hacker kan bruke disse skrivebeskyttet elementer for å kjøre SQL-kommandoer og uttalelser i skriptet. Løs dette som du ville gjort med SQL-injeksjon hvis det bruker SQL-spørringer til den sentrale databasen.

Filopplasting

Hvis du ønsker å tilby en filopplasting inngang boks på nettstedet ditt, utgjør dette en potensielt stor inngang fare. Det er to ting å gjøre for å løse dette problemet. For det første, oppgi MIME-typen for de filene du ønsker lastet opp; for eksempel legge til "image / png» og «image / gif" til $ validMimes tag å redusere filtyper til disse mimes. Etter mime-type, for ekstra sikkerhet add "=> '.png'" etter png tag, for å sikre at mime-typen matcher filtypen.