L’umanità sta per essere distrutta ma PHP permette la prevenzione con la bonifica dei campi

Pulire i campi di un form in PHP é un dovere di chi vuole distinguersi come professionista in questa activity per questioni di sicurezza soprattutto e non solo di professionalità. Dopo la bonifica viene la VALIDAZIONE ossia la stesura di quelle funzioni che regolano l’immissione dei dati da parte dell’ utente (hai messo il simbolo chiocciola per esempio, oppure guarda che qui devi inserire solo numeri etc). Per capire i rischi e i pericoli associati a questa presunta negligenza prendiamo questo javascript e analizziamolo alert(‘sto per distruggere tutti abitanti della Terra’) al di là del discorso allarmistico digitando le special entities il corrispettivo in HTML per convertire i simboli strani come < e ‘ otterrei una stringa del tipo %22%3E%3Cscript%3Ealert(‘message’)%3C/script%3E che tanto bene non fa se inserita sulla barra URL e che tanto bene non fa nemmeno inserita nei campi, ergo dedurre che una azione profonda di sanificazione va fatta in termini preliminari per impedire che l’utente cliccando nei posti sbagliati dopo aver inserito caratteri non autorizzati finisca per distruggere il pianeta e sarebbe buffo che nemmeno i dinosauri con la loro estinzione ci sono riusciti ma un programmatore condominiale in erba si. Quindi occorre risolvere il problema. Che fare? Prima di risolvere questa questione risaltiamo su ALtair 4 per parlare di scacchi e di un errore che facciamo talvolta, quello di abbandonare prematuramente. Lo avevamo già visto con il GM Najdorf in uno dei precedenti articoli di Umbriaway Consulting indirizzo: https://umbriawayfidelizza.wordpress.com/2017/08/05/hai-mai-sentito-parlare-dell-array-superglobals-oppure-conosci-solo-la-sanguinetti-vs-najdorf-giocata-a-mar-del-plata-nel-1956-dove-il-nero-abbandono-senza-motivo/ e ripassiamo l’idea dell’ abbandono prematuro come tema con la Krejcik vs Schwarz giocata nel 1906 a Vienna, il Bianco con il cuore che tumultuava (ce l’ha questa l’accademia della crusca?) a mille si gettò a capofitto in una combinazione vincente dopo 1 Cc6+ Rc7 2 De7 Rb6 3 c5+ Ra6 4 Ac8 Dc8 5 Da7+ Rb5 6 Db6+ Rc4 7 Db4+ Rd5 8 Ce7 e il bianco grazie a questa girandola vorticosa di pezzi vinse il premio di bellezza. Passarono tanti anni e Bruno Vespa continuava ancora a farneticare su Porta a Porta e Krejcik vide che il bianco non aveva nessun motivo per essere nella posizione finale in quanto dopo 8..Re4!! la posizione del Bianco crolla in poche. Quindi ribadisce web developer Umbria? Che ce devi dire? La soluzione del problema di cusi sopra ossia se posso fare in modo che l’utente mi digiti porcherie nei campi tipo tag ed entities e spazi indietro o avanti alla stringa o qualche carattere strano. Oggi tutto questo va fatto con una bella funzione del tipo:

function clean($input) {
// Trims whitespace from input
$input = trim($input);
// Removes slashes from input data
$input = stripslashes($input);
// Typically you would use either strip_tags or htmlspecialchars
// depending on whether you want to remove the HTML characters
// or just neutralize it.
// Removes all the html tags from input data
$input = strip_tags($input);
// Escapes html characters from input data
$input = htmlspecialchars($input);
return $input;
}

dove nei dettagli  trim() function removes whitespace before and after the input string; The stripslashes() function removes backslashes “\” from a string, double backslashes “\\” are replaced by a single one “\”; strip_tags() removes the HTML characters completely oppure in alternativa htmlspecialchars() converts special characters to HTML entities…a questo punto non é che possiamo dormire sogni tranquilli ma certamente qualcosa a livello di seria prevenzione abbiamo fatto, conclude web developer Umbria che in uno dei prossimi articoli per diventare GM in PHP in sette gg affronterà la delicata questione della validazione. Per sperimentare queste negligenze della sicurezza andare su http://www.farwebdesign.com/examplephp/Example10-sanitizingInput.php

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...