Hej!
Jag sitter å knåpar ihop en sida och kom av naturliga skäl in på ämnet säkerhet.
Mitt arbete innefattar php och mysql varpå mina funderingar kom i anspråk.
När man bygger någon form av portal där man använder sig av loginscript och vidare att användaren med hjälp av inloggningen kan utföra vissa åtgärder ev. beställningar, sökningar i db'n, ändra info om sig själva i db'n etc.
Är sessioner bra alternativ när det gäller säkerhet?
om inte, vad är tänkbara alternativ (och helst förklaring på varför du tycker si eller så)
Hur stor är risken för angrepp och vad är det värsta som kan hända vid angrepp?
Självklart vet jag att oavsett hur säkert ett system är kan det aldrig bli säkert nog så det är ogenomträngligt men, vad är en lagom nivå på säkerhet om man ser till de vanligaste förekommande hoten:)
Hoppas ni förstår vad jag menar:)
ercizMedlem sedan maj 20011 826 inlägg
supercajo skrev:
Är sessioner bra alternativ när det gäller säkerhet?
om inte, vad är tänkbara alternativ (och helst förklaring på varför du tycker si eller så)
Det finns inte så många olika sätt att hantera användarinloggningar på. Dels kan man göra det med HTTP Authentication, men det vanligaster är sessioner.
Men i båda fallen så ska man helst ha en krypterad förbindelse (https), annars kan sessionen enkelt kapas om besökaren befinner sig på ett öppet nätverk.
Så vill du ha din sida säker, använd https. Det är så alla e-handelsplatser och alla internetbanker gör.
En sak som många utvecklare gör är att lägga ALLA filer i sin public_html/www/htdocs mapp och inte utanför. Exempelvis brevid sin allmänna mapp (public_html/www/htdocs) bör man ha en mapp där man sparar sina klasser, configs, databas-inställningar osv. som man INTE kan nå från webbläsaren.
Bara för man använder sessioner och HTTPS betyder inte att hemsidan är säker utan bara datan som överförs är säkrad. Sen om koden från utvecklaren innehar stora säkerhetsbrister och hål hjälper inte HTTPS. Det upp till utvecklaren om sessionen är säker eller inte, man bör ju iallafall se till att man skyddar sig mot attacker ex; session hijacking/session fixation och att man sparar lösenordet på ett bra sätt i databasen, ha ett skydd mot spam-botar och ett skydd på inloggningen mot dictionary-attacs genom att en användare från ett ip som har loggat in med fel lösenord 5ggr eller mer ska bannas i 15 min osv. Sen är det inte bara det som man måste skydda sig mot man måste även tänka på andra typer av attacker; exempelvis kan man göra XSS-attack genom $_SERVER['hostname']...
Detta är bra bok för dig som vill lära sig säkerhetsprogrammering med php.
http://www.amazon.com/gp/product/0973862106
danjelMedlem sedan juni 200443 inlägg En lagom nivå på säkerhet är för mig att man kännner sig "säker" även om själva php källkoden råkar komma i händerna på en hacker. Dvs att man tänker på det när man kodar, om en utomstående skulle se hur detta är byggt kan han då hitta svagheter i säkerheten..