Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #22337 > unrolled thread

Ridurre le interrogazioni al DB

Started bymarcocatarsi@tiscaly.it (Catarsi)
First post2018-10-31 12:49 +0100
Last post2018-10-31 13:21 +0100
Articles 3 — 2 participants

Back to article view | Back to it.comp.www.php


Contents

  Ridurre le interrogazioni al DB marcocatarsi@tiscaly.it (Catarsi) - 2018-10-31 12:49 +0100
    Re: Ridurre le interrogazioni al DB Alessandro Pellizzari <shuriken@amiran.it> - 2018-10-31 12:11 +0000
      Re: Ridurre le interrogazioni al DB marcocatarsi@tiscaly.it (Catarsi) - 2018-10-31 13:21 +0100

#22337 — Ridurre le interrogazioni al DB

Frommarcocatarsi@tiscaly.it (Catarsi)
Date2018-10-31 12:49 +0100
SubjectRidurre le interrogazioni al DB
Message-ID<1nxjcvi.14c66jw1pn18f0N%marcocatarsi@tiscaly.it>
Salve a tutti,

ho delle richieste ajax piuttosto frequenti, attraverso le quali
accertarmi che l'utente - qualunque azione svolga - sia sempre loggato e
abbia un determinato id. Effettuando un login ad ogni sua mossa, è
evidente che debba interrogare in database di continuo, quindi temo un
eccessivo (e forse inutile) spreco di risorse. 

La domanda è questa: ci si può fidare solo delle sessioni? Mi spiego con
i vari passaggi che avrei in mente:

- l'utente arriva, si logga con successo; in quel momento gli creo la
sessione:

$_SESSION['id']=25;

(sessione che ovviamente non esiste, se il login fallisce)

- dopodiché

$idUtente=0;
if (isset($_SESSION['id']) and is_numeric($_SESSION['id']) and
$_SESSION['id'] > 0) {
$idUtente=$_SESSION['id'];
}

- i successivi controlli avvengono in questo modo:

if ($idUtente > 0) {
// fai cosa ti pare.
}

Non so quanto il metodo sia sicuro, non ne ho la più pallida idea. Voi
che mi dite? 

Mille grazie.
 
-- 
mailto: y = i
------------------------------------------------------
http://www.catarsi.it
Vivo nel terrore di non essere frainteso (Oscar Wilde)

[toc] | [next] | [standalone]


#22338

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2018-10-31 12:11 +0000
Message-ID<g3tkfnFqqgbU1@mid.individual.net>
In reply to#22337
On 31/10/2018 11:49, Catarsi wrote:

> ho delle richieste ajax piuttosto frequenti, attraverso le quali
> accertarmi che l'utente - qualunque azione svolga - sia sempre loggato e
> abbia un determinato id. Effettuando un login ad ogni sua mossa, è
> evidente che debba interrogare in database di continuo, quindi temo un
> eccessivo (e forse inutile) spreco di risorse.
> 
> La domanda è questa: ci si può fidare solo delle sessioni?

Sì. La sessione è salvata lato server, quindi è "sicura".

Puoi vedere come crittare/firmare il session cookie, se vuoi essere 
sicuro che uno non si faccia rubare il cookie dal browser ed entri con 
una identità diversa.

E puoi ridurre la durata della sessione a pochi secondi invece dei 
minuti/ore di default, così obblighi a ri-validare l'utente.
In questo modo se vengono fatte n chiamate in poco tempo (abbastanza 
tipico con AJAX e API) hai l'autenticazione "cachata" sul server, ma 
puoi sempre revocarla e avere poco tempo di esposizione in caso di hack.

Se sono chiamate AJAX significa che probabilmente hai un'API dietro, 
quindi tieni conto anche del fatto che quegli endpoint potrebbero essere 
chiamati al di fuori del browser (da Postman, per esempio, per 
testarli), quindi potresti non avere i cookie con l'id di sessione.

Ma questo è probabilmente un passo successivo.

Bye.

[toc] | [prev] | [next] | [standalone]


#22339

Frommarcocatarsi@tiscaly.it (Catarsi)
Date2018-10-31 13:21 +0100
Message-ID<1nxje5w.10hkvls1dp8hr0N%marcocatarsi@tiscaly.it>
In reply to#22338
Alessandro Pellizzari <shuriken@amiran.it> wrote:
 
> > La domanda è questa: ci si può fidare solo delle sessioni?
 
> Sì. La sessione è salvata lato server, quindi è "sicura".

Perfetto. Molto interessante anche tutto ciò che scrivi in seguito, mi
sarà utile per imparare e usare nuovi procedimenti.

A presto e grazie mille.

-- 
mailto: y = i
------------------------------------------------------
http://www.catarsi.it
Vivo nel terrore di non essere frainteso (Oscar Wilde)

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.www.php


csiph-web