Säkrare PHP-sessioner

PHP genererar ju ofta ett sessions-id som lagras som en cookie i webbläsaren. Jag läste just att man kan säga åt PHP att generera säkrare/bättre sessions-idn genom att ändra några inställningar i PHP.ini (alternativt ändra dem i ditt skript med functionen ini_set):

session.hash_function = 1

Default är 0, vilket betyder att MD5 används. Sätt värdet till 1 för att istället använda den bättre funktionen SHA-1.

session.entropy_file = /dev/urandom
session.entropy_length = 16

Då läser PHP 16 bytes från den ganska bra slumpkällan /dev/urandom istället för att som standard bara använda timestamp, IP-adress och något mer. Det gör det mycket svårare att gissa sig till ett sessions-id.

Om du vill ha extremt säkra sessioner, bör du förstås inte nöja dig med detta. Då bör du istället sätta inställningarna så här (rekommenderas ej om du inte har extrema säkerhetskrav då det ger sämre prestanda):

session.hash_function = sha512
session.entropy_file = /dev/random
session.entropy_length = 512