1) un "cracker" non puo' impossessarsi di username e password tramite le sessioni, ma puo' rubare un valido SESSION ID o forzare un utente legittimo ad usarne uno di sua scelta per poi avere accesso ad un'applicazione una volta che questo utente si e' loggato: per evitare questo e' buona norma rigenerare il session id ogni volta che c'e' un cambiamento nel livello di privilegio di un utente (ad esempio quando un utente si logga)
2) se hai dei file che devono essere protetti e non accessibili da tutti, allora devi per forza rifiutare tutte le richieste dirette e consentire il download solo tramite un tuo script che provvedera' a servire solo gli utenti autorizzati
3) da utente non puoi fare nulla per proteggerti, da sviluppatore di una web application puoi seguire alcune linee guida:
- non usare mai l'array $_REQUEST
- non usare mai valori presi tramite $_GET per compiere delle azioni
- come conseguenza del punto precedente, ogni pagina che "agisce" in maniera potenzialmente pericolosa, deve essere raggiunta tramite POST e deve avere un valido token che avrai preventivamente creato per poi verificarlo (vedi secondo link sotto)
Posto come riferimento 2 link al blog di Chris Shiflett (autore di un ottimo e molto chiaro libro sulla sicurezza PHP):
http://shiflett.org/articles/session-fixation
http://shiflett.org/articles/cross-s...uest-forgeries