Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Injection, sessioni e altri problemi

    Ciao a tutti, volevo farvi alcune domende a proposito di una applicazione che sto realizzando.

    1) Se passo tutti i dati alle pagine tramite POST o variabili di sessione, posso tranquillamente svuotare l'array $GET all'inizio di ogni pagina per mettermi al sicuro da attacchi (es.. sql injection e variabili indesiderate) "appesi" all'url?
    Ovviamente uno può sempre costruirsi un form "ad hoc" per attaccare ma questo è un altro paio di maniche.

    2) Se ad esempio in un form di login faccio sì che i classici campi "user" e "password" possano contenere soltanto caratteri alfanumerici e niente spazi, controllando anche lato server la giusta lunghezza della stringa ricevuta (ad es max 8 caratteri) posso ritenermi abbastanza sicuro contro l'sql injection?

    3)In questa applicazione viene creata una sessione quando si collega l'utente, che viene memorizzata nel database assieme allo userid relativo per evitare login multiplo da più pc con lo stesso account, assieme alla sua data-ora di inizio.
    Tale sessione si chiude automaticamente alla chiusura del browser, non sono interessato a mantenere il login con cookies.

    Come posso registrare l'ora in cui tale sessione temina?
    Se un altro utente si collega, potrebbe essergli assegnato un sessionId già presente nel Dbase (ovviamente se tale sessione è scaduta precedentemente), quindi mi risulterebbe che esiste già una sessione con quel'id...

    Che ne pensate?

    Ciao, Dario

  2. #2
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    1) se usi soltanto variabili di sessione e post non ti interesserà sapere se $_GET è popolato o meno, puoi fare benissimo a meno di svuotarlo.

    2) basterebbe un addslashes(), anche perché le sql injections sono date da stringhe

    3) Io in questi casi faccio scadere le sessioni dopo un certo periodo di inattività. Con HTTP che non possiede informazioni stato è l'unica procedura da seguire.
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  3. #3
    Effettivamente del $_GET me ne posso fregare, non ci avevo pensato..

    2)Per quanto riguarda Addslashes() conviene usarlo anche se in tutte le query sql hanno tuttte gli slash inseriti direttamente nel mio codice?

    3) Metterò una scadenza alle sessioni allora, solo che c'è la possibilità che l'applicazione rimanga aperta senza che l'operatore faccia niente per un po' di tempo. Per ovviare a questo pensavo di mettere un refresh automatico della pagina ogni tot minuti, dite che funziona?


    4) Vi faccio un'altra domanda, è possibile che in un qualunque modo qualcuno possa alterare o leggere l'array $_SESSION?
    Quando un utente effettua il login si porta in giro il suo identificativo in una variabile di sessione ed un'altra variabile in base alla quale gli vengono assegnati i permessi, quindi se qualcuno potesse alterare $_SESSION potrebbe essere un problema...

    Ciao e grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.