Il secret_token viene utilizzato dal cookie_store, utilizzato per memorizzare la sessione lato client di dati. Here è un bel resoconto su come eseguire codice arbitrario usando un secret_token conosciuto.
Questo cookie_store
è più precisamente ActionDispatch::Session::CookieStore
, un middleware rack che carica i carichi nella pila del rack quando si imposta session_store(:cookie_store)
. Quindi se lo stai impostando su :session_store
dovresti stare bene non impostando secret_token.
È possibile esaminare Rails.configuration.middleware
per vedere tutti i vostri middleware e confermare ActionDispatch::Session::CookieStore
non è uno di loro.
FWIW, un'applicazione di rails 3.2 inizierà con secret_token
non impostata, ma le richieste che provano a impostare le variabili di sessione avranno esito negativo 500. Non ho rintracciato esattamente dove si verifica l'errore.
Ma se non si sta impostando secret_token e non si dispone di ActionDispatch::Session::CookieStore
nella pila del rack e l'app sembra funzionare, si è al sicuro da quel particolare attacco.
L'altro uso di secret_token
è digest authentication.
In sintesi, per rispondere alla domanda, se non si sta utilizzando l'autenticazione digest e non si utilizza cookie_store (ad esempio, impostando session_store(:cache_store)
), quindi secret_token
non è importante.
"I am not aware" non è molto utile. OP non era a conoscenza, quindi la domanda. – cluesque
@cluesque, beh, grazie alla tua risposta ora sono pienamente consapevole che secret_token è usato solo per i cookie e l'autenticazione digest. A proposito: "e la tua app sembra funzionare" è altrettanto utile "Non ne sono a conoscenza" –