Visualizzazione dei risultati da 1 a 10 su 10

Discussione: POST o SESSION?

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    137

    POST o SESSION?

    Ciao
    vorrei chiedervi una cosa in merito un dubbio venuto leggendo in questo punto della guida http://php.html.it/guide/lezione/299...s-in-pratica/, "Uso dei token".

    C'è scritto che non conviene mai passare in GET lo SID della sessione (perchè è un parametro importante) ma sugerisce di usare POST. Però anche POST utilizzato in un input tag di type=hidden, visualizzando il codice della pagina, mostra il valore da passare, proprio come GET.

    Allora volevo sapere se è sensato cercare una soluzione sicura per il passaggio di valori importanti, come possono essere gli identificativi delle tuple nel DB mysql (necessari per effettuare operazioni su una tupla ben precisa del DB).
    Se la risposta è positiva, cioè conviene non mostrare il valore degli id primary delle tuple del DB, è più sicuro passare queste variabili particolari attraverso $_SESSION['id'] anzichè POST?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non ho capito se la tua domanda è riferita all'esempio specifico della guida o se hai allargato il ragionamento ad un altro argomento.

    Per quanto riguarda l'argomento della guida, secondo me più che l'id di sessione potrebbe essere utile generare un valore casuale ad hoc che abbia l'unica funzione di "convalidare" l'operazione richiesta in quel momento. Questo si potrebbe quindi tranquillamente passare in GET, essendo un "usa e getta" e non avendo la "delicatezza" di un session ID.

    Sulla tua domanda riguardo agli identificativi delle tuple: nel momento in cui un identificativo viene "scelto" dall'utente, tu lo devi per forza passare al server. Via GET o via POST non fa, secondo me, una gran differenza. Parti dal presupposto che, come regola generale sul web, l'input utente non deve mai essere considerato affidabile ad occhi chiusi. Un ID passato in querystring potrebbe essere modificato manualmente dall'utente. Ma il programmatore accorto ( ) avrà sempre, sulla pagina ricevente, la verifica che l'utente sia autorizzato a lavorare su quell'id. Se questa verifica esiste, l'eventuale alterazione dei dati in querystring non potrà avere effetti "illeciti".

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    137
    grazie, entrambe le risposte mi sono d'aiuto.

    Più che altro volevo capire se a livello di sicurezza sia un problema mostrare il valore dell'identificativo della tupla nel DB oppure no.
    Per esempio, una pagina html mostra una lista di prodotti. Ora clicco su uno e chiaramente questa operazione mi deve inviare l'id del prodotto così da poterne, ad esempio, mostrare i dettagli. Al di là che sia una procedura di poca importanza, il fatto di mostrare o via GET o via POST la variabile 'id' ed il suo valore può avere qualche implicazione sulla sicurezza ?
    Se la risposta è positiva, ed ho capito il significato della SESSION, allora sarebbe meglio passare il valore dell'id del prodotto attraverso $_SESSION['id']. No?

    Grazie

  4. #4
    Non puoi fare nulla, l'id lo devi passare comunque, get post o session sempre dal browser dell'utente parte.
    cosa vuoi che faccia uno sapendo l'id del prodotto che visualizza?
    Ciao!

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    137
    ok allora manderò via POST.
    thanks

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Complicazione inutile. Mandalo via GET

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    Originariamente inviato da luca200
    Complicazione inutile. Mandalo via GET
    mi associo.
    Mandalo via GET e incroci il valore con la sessione; se corrisponde allora il token è valido, altrimenti no

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    137
    ok grazie, allora sono nella strada giusta

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    p.s. se poi non ti fidi di mandare il session id puoi sempre crearti una stringa tua e inviare quella, tanto il funzionamento è lo stesso...

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    137
    io attualmente per le operazioni di un certo tipo controllo che l'id dell'utente che effettua l'operazione esista, controllo che la sessione $_SERVER['HTTP_USER_AGENT'] coincida con quella salvata e che si loggato. Dovrebbe essere ok no?

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.