PHP scripting sprog er generelt en meget sikker programmeringssprog, primært fordi det ikke lider buffer overflow angreb, som sproget ikke er baseret i hukommelsen . Der er dog sikkerhedshuller og skjulte farer med sproget. På grund af sprogets enkelhed, kan nogle kodere uheld efterlade sårbarheder i koden . Når du bruger input felter i PHP, der er visse ting, du bør holde øje med . Cross Site Scripting
Cross Site Scripting eller XSS er, hvor du input indhold til din PHP script , såsom en Javascript. XSS er meget nyttigt , for eksempel, hvis du var at indsamle nyheder i en webside. Men hvis du har et script, der giver brugerne mulighed for at vælge et sidetal , og de i stedet indsætte et script til en ekstern kode , så XSS vil føre til sikkerhedshuller . Tilføj et " strip_tags () " i din PHP at fjerne HTML input.
SQL Injection
SQL Injection tillader sikkerhedshuller i din database. I et bruger login form, f.eks . Hvis du bruger en grundlæggende " password = '$ password' " script , så hacker kan indtaste " 'OR 1 = 1 " i password feltet og log ind i databasen Det betyder, at hackeren kan indtaste enhver konto han kender brugernavn til . Indsæt " mysql_real_escape_string () " for at stoppe dette sker .
Spoof Form Input
Som med SQL Injection , hvis du har nogen form for danne såsom en "input " eller " textarea ", så en hacker kan bruge disse skrivebeskyttede elementer til at udstede SQL-kommandoer og udsagn i dit script. Løs dette som du ville med SQL-injektion , hvis den bruger SQL-forespørgsler til de vigtigste database.
Fil Upload
p Hvis du ønsker at tilbyde en fil upload input boks på din hjemmeside, dette udgør et potentielt stort input fare. Der er to ting at gøre for at løse dette problem. For det første , skal du angive mime - type for de uploadede filer, du ønsker , for eksempel, tilføjer " image /png " og " image /gif " til den $ validMimes tag for at mindske filtyper til disse mimer . Efter den mimetype , tilføj for ekstra sikkerhed "= > ' . Png ' " efter png tag, for at sikre, at den mimetype matcher filtypen .
< Br >