Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776

    Comporta qualche rischi verificare SOLO che esista nell'array $_POST uno specifico indice

    Ciao a tutti,

    ho bisogno di verificare l'esistenza di un indice all'interno di $_POST, non mi interessa sapere quale sia il valore ma solo verificare che questo indice esista, questo mi serve per sapere che si proviene da una determinata pagina.

    Comporta dei rischi effettuare questo controllo, non andrei a leggere il valore ma solo se esiste l'indice stesso?

    Codice PHP:
    if (isset($_POST['ricorda'])) {
          
    //codice

    Grazie,
    Roberto

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Dipende da quello che fa il codice dopo il controllo.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Dipende da quello che fa il codice dopo il controllo.
    Al posto //codice c'e' questa linea
    Codice PHP:
    Sesion::set(Sesion::POSTjson_encode($_POST)); 
    In pratica se provengo da quella pagina in concreto, nel controller metto tutto l'array all'interno di una variabile di sessione codificata in JSON.
    Quando l'accesso sarà avvenuto accedo ai dati mediante questo metodo:

    Codice PHP:
        protected function getPost($nombre$patron NULL) {
            if (
    Sesion::existe(Sesion::POST)) {
                
    $this->post json_decode(Sesion::get(Sesion::POST), TRUE);
            }

            if (isset(
    $_POST[$nombre])) {
                
    $valor filter_input(INPUT_POST$nombreFILTER_SANITIZE_SPECIAL_CHARS);
                if (
    $patron == NULL) {
                    return 
    $valor;
                }
                if (
    Patron::is($patron$valor)) {
                    return 
    $valor;
                } else {
                    return 
    FALSE;
                }
            } elseif (isset(
    $this->post[$nombre])) {
                
    $valor filter_var($this->post[$nombre], FILTER_SANITIZE_SPECIAL_CHARS);
                if (
    $patron == NULL) {
                    return 
    $valor;
                }
                if (
    Patron::is($patron$valor)) {
                    return 
    $valor;
                } else {
                    return 
    FALSE;
                }
            } else {
                return 
    FALSE;
            }
        } 
    Roberto

  4. #4
    Dipende quali rischi intendi
    Comunque no, non ci sono particolari "rischi", l'importante è fare sempre l'escape per stare più tranquilli.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da fdisotto Visualizza il messaggio
    Dipende quali rischi intendi
    Comunque no, non ci sono particolari "rischi", l'importante è fare sempre l'escape per stare più tranquilli.
    Ma in questo particolare caso, dove NON vado a leggere il contenuto della variabile, ma solo se esiste l'indice dell'array, ci sono rischi?
    Codice PHP:
    if (isset($_POST['ricorda'])) {
          
    //codice che non legge alcuna variabile dell'array  $_POST


  6. #6
    No, al massimo puoi controllare il tipo di valore che può assumere, stringa o intero, tanto per stare poco poco più tranquillo

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da fdisotto Visualizza il messaggio
    No, al massimo puoi controllare il tipo di valore che può assumere, stringa o intero, tanto per stare poco poco più tranquillo
    Ma ad esempio, se io facessi:

    $id=(int)$_GET['id'];

    Questo dovrebbe essere sicuro, giusto?
    Facendo il cast di una stringa, se fosse qualsiasi altra cosa e non un int, si trasformerebeb in int 0

  8. #8
    Così va più che bene, tanto per stare tranquillo va benissimo fare il cast.

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.