Nascondere gli errori con l'operatore di silence del Php

Siti dinamici con PHP
Impara a creare siti dinamici professionali con PHP

Scritto da Max Bossi nella sezione Php

Quando l'esecuzione di un'istruzione PHP all'interno di uno script genera un errore questo, generalmente, viene stampato a video dando comunicazione all'utente dell'accaduto. Questa prassi, tuttavia, talvolta risulta essere poco sicura e certamente poco elegante (non è certo buona cosa mostrare in output messaggi di errore agli utenti!). Soluzioni? Certo... PHP contempla un apposito operatore con funzione di "silenziatore" degli errori: l'operatore di silence.

Grazie all'operatore citato, infatti, qualora l'esecuzione del codice incappasse in un errore questo non verrebbe mostrato e l'applicazione terminerebbe il suo lavoro.

Vediamo questo semplice esempio:

<html>
    <head>
        <title>Operatore di Silence</title>
    </head>
<body>

<?PHP
    // Definisco due variabili numeriche
    $dividendo = 54;
    $divisore = 0;

    // Eseguo la divisione
    $risultato = $dividendo/$divisore;

    // Stampo a video il risultato
    print $risultato;
?>

</body>
</html>
Poichè si cerca di effettuare una divisione per zero, l'esecuzione di questo script genererà un errore e lo stamperà a video. Qualora invece l'istruzione fosse stata preceduta dal carattere @, come vediamo qui sotto:
@$risultato = $dividendo/$divisore;
allora il messaggio di errore non sarebbe stato visualizzato.

L'utilizzo dell'operatore di silence diventa particolarmente interessante quando si lavora con i database in quanto, in caso di errore, potrebbero altrimenti essere stampate a video informazioni delicate di cui è bene non dare notizia, come ad esempio username e password per accedere al MySql della nostra macchina! Ricordate quindi di usare sempre questo operatore, ad esempio, nella connessione al DB, come vediamo qui sotto:
<?PHP
    @mysql_connect("host", "utente", "password");
    @mysql_select_db("nome_db");
?>
Alla prossima!

I più cliccati della sezione Php

:: Redirect in Php (102.453)

:: Upload di file in Php (33.233)

:: Refresh temporizzato in PHP (27.384)

:: Scrivere il codice di sicurezza CAPTCHA in Php (25.987)

:: Un carrello della spesa in PHP (22.676)

:: Creare un menu dinamico in Php (20.831)

:: Pagamenti online con PayPal e PHP (17.394)

:: Convertire una stringa in maiuscolo e in minuscolo in Php (15.772)

:: Inviare email in formato Html con Php (15.703)

:: Ottenere le dimensioni di un'immagine con PHP (15.020)

IN EVIDENZA
DOWNLOAD