FAQ |
Kalender |
2011-03-25, 11:03 | #1 | ||
|
|||
Flitig postare
|
Vad ska jag ha för chmod på min mapp som jag sparar alla sessioner i via session.save_path? Jag vill att det ska vara så säkert som möjligt. Är det någonting annat jag även bör tänka på?
|
||
Svara med citat |
2011-03-25, 11:49 | #2 | |||
|
||||
Bara ett inlägg till!
|
Den måste kunna användas av den användare PHP körs som (kör du mod_php är det alltså samma användare som webbservern). Alltså, chowna till webbserveranvändaren och chmodda 0700. Eventuellt kanske 0300 funkar, så att webbservern inte kan lista innehållet i mappen så det kan du ju testa om du vill.
Har du flera olika webbplatser med olika ägare kanske du vill ge dem varsin session.save_path och köra dem som olika användare. |
|||
Svara med citat |
2011-03-25, 13:51 | #3 | ||
|
|||
Flitig postare
|
Jag funderar på att köra chmod 730 så att inga publika rättigheter finns men då finns det iofs grupprättigheter. Vad menas med grupprättigheter?
|
||
Svara med citat |
2011-03-25, 17:32 | #4 | |||
|
||||
Bara ett inlägg till!
|
Med grupprättigheter menas att alla de användare som är medlemmar i den gruppen får de inställningarna. Exempelvis kanske du har en grupp "adm" för administratörer som kan läsa men inte skriva loggfiler. Loggarna ägs då av användaren root och gruppen adm, och får rättigheterna 0640 (skrivning och läsning för användaren root, endast läsning för gruppen adm).
I ditt fall verkar det meningslöst att ge några grupprättigheter såvida du inte har flera olika användare som ska ha tillgång till mappen. |
|||
Svara med citat |
2011-03-28, 18:33 | #5 | ||
|
|||
Medlem
|
Annars spara sessionerna i databas, är väl det säkraste alternativet egentligen...
|
||
Svara med citat |
2011-03-31, 12:07 | #6 | ||
|
|||
Flitig postare
|
Citat:
En admin loggar in, då skapas session['sessionsnamn'] = 'HyhjhH76h6h8JHgh6'; Han eller hon klickar på en länk i menyn, då slumpas det fram ett nytt värde i sessionen, det kan då t.ex. bli session['sessionsnamn'] = 'uih345hno6noUH97'; Så det går inte för en hacker att klura ut vilket värde session['sessionsnamn'] ska ha för att han/hon ska bli inloggad som admin. Men det stör mig att jag måste ge publika skriv och körrättigheter på mappen som håller sessionerna. |
||
Svara med citat |
2011-03-31, 12:56 | #7 | |||
|
||||
Mycket flitig postare
|
Citat:
|
|||
Svara med citat |
2011-03-31, 14:41 | #8 | ||
|
|||
Medlem
|
Som SimonP sa så ändrar du endast värdet på en session, vilket inte har med säkerheten att göra.
Det du nog vill göra som jag förstår är att använda session_regenerate_id(); det är bra för att hindra s.k "Session Fixation". Annat man kan göra: För att försvåra s.k "Session Hijacking", överväg att kolla om User-Agent ändras mellan olika requests, det bör den inte göra och det kan indikera att sessionen har "kapats". ini_set("session.cookie_httponly", true); // stop XSS javascript cookie attacks for browers that support it ini_set("session.use_only_cookies", true); // do not allow session_id in URLs Annars så antar jag du använder ett webbhotell? Skulle säga att då är det mer viktigt att använda databas sessioner om säkerhet bedöms som kritisk. Även om du har en egen filmapp för dina sessioner så tänk på att det enda som krävs för att få fram sessions id och därmed kunna "hacka" din site (i värsta fall inloggning med admin rättigheter) är åtkomst till den mappen. |
||
Svara med citat |
2011-03-31, 16:15 | #9 | ||
|
|||
Flitig postare
|
Citat:
|
||
Svara med citat |
Svara |
|
|