webForumDet fria alternativet

Vad bör jag tänka på för att ha en säker sida?

PHP

2 svar · 359 visningar · startad av Grollen

Medlem sedan dec. 20039 inlägg
Frågan#1

Tja!

Jag satt och funderade lite på hurpass säker jag kan göra min sida. För att förklara lite snabbt vad jag har:
Jag har en hemmagjord blog (jag vet att det finns att ladda ner, men jag tänkte att det alltid är bra att lära sig något) där icke-admin (icke-jag) ska få gå och kika på min sida och kommentera blog-inlägg eller bildgallerier. Jag har restrikterat vissa funktioner som bara jag ska få komma åt genom en enkel kontroll om en sessionsvariabel som heter "level" är satt eller inte.

Vidare så ligger de flesta filer direkt i roten, förutom vissa php-klasser, som egentligen bara innehåller logik och inga "output"-funktioner som genererar html-kod, i en include-katalog.

Har ni förslag på vad jag bör tänka på eller var jag kan hitta information om säkerhetsrisker?

Tack på förhand!
/Chris

Medlem sedan juni 20006 031 inlägg
#2

Tycker inte att man kan göra en sida "för" säker. Men man kan inte tänka på allt.

Det man först bör tänka på är det som är enklast för en eventuell hackare att göra.

XSS (Cross Site Scripting)
XSS innebär att en hackare/besökare skriver kod som exekveras av dina andra besökare. T.ex javascript.
Alltså ska du hindra besökarna från att skriva htmlkod i inlägg och liknande. Kolla på funktionerna htmlspecialchars() och strip_tags() för att förhindra detta.

SQL Injections
SQL Injections kan användas för att förstöra din databas, och det är många som är dåliga på att skydda sig mot detta.
Här har du ett exempel som en webbsida inte borde godkänna. Observera att detta är ett exempel som inte förstör något. ;) Men det ska ju ändå inte godkännas. Exempel
Vanligaste funktionen för att skydda sig mot sådant är addslashes() men det finns några till som man kan använda sig av.

Sen bör man tänka på att använda ' (enkelfnutt) istället för " (citationstecken) runt variablar vid INSERT, UPDATE och DELETE.

Här har du även ett par länkar ang. säkerhet
http://www.php.net/manual/en/security.index.php
http://www.mysql.com/doc/en/General_security.html

Medlem sedan okt. 2004392 inlägg
#3

Om dessa länkar funkade inte, testa dessa ...
http://se.php.net/manual/sv/security.index.php
http://dev.mysql.com/doc/mysql/en/Security.html

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
115 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)