Sto sviluppando un sito Web (con un carrello acquisti) sopra Codeigniter e voglio utilizzare l'impostazione sess_use_database per rendere più difficile agli utenti l'hacking di un carrello della spesa sessione.Codeigniter: come evitare la memorizzazione nella cache del database per le sessioni
ho anche decidere di utilizzare la cache del database per velocizzare le richieste di DB comuni (come ad esempio 'ottenere categorie' come la maggior parte del contenuto DB non cambierà regolarmente), quindi mi hanno permesso questa impostazione:
$db['development']['cache_on'] = TRUE;
//where 'development' is my environment
di conseguenza, mi sto trovando che i contenuti di sessione non vengono aggiornati, ad esempio, su tale richiesta
$this->basket_contents = array_values($this->session->userdata('basket_contents'));
Inoltre, ho provato questo:
$this->db->cache_off();
... prima della richiesta di sessione, ma non risolve il problema (presumo perché non è una richiesta DB diretta).
miei setings sessione sono i seguenti:
$config['sess_cookie_name'] = 'str_session';
$config['sess_expiration'] = 7200;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
Posso evitare la memorizzazione nella cache delle richieste DB relativi alla sessione? O impedire che alcune tabelle vengano memorizzate nella cache?
O c'è un'altra soluzione (probabilmente ovvia) a cui non ho pensato?
Grazie in anticipo.
Grande, grazie. Inizierò con la prima opzione. – Ade