Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
programmazione:php:sicurezza_inserimento_testo [02/05/2022 - 13:57] Fabio Di Matteo creata |
programmazione:php:sicurezza_inserimento_testo [26/06/2023 - 12:06] (versione attuale) Fabio Di Matteo |
||
---|---|---|---|
Linea 1: | Linea 1: | ||
====== Sicurezza nell'inserimento di testo in PHP ====== | ====== Sicurezza nell'inserimento di testo in PHP ====== | ||
- | Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **// 02/05/2022 - 13:56 //** // // | + | Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **// 26/06/2023 - 12:06 //** // // |
- | <code php> | ||
- | <?php | + | ===== Validare il testo secondo caratteri ammessi ===== |
- | function sbon1($val) | + | |
- | { | + | |
- | $arr = explode(' ',trim($val)); | + | |
- | $val= $arr[0]; | + | |
- | $val=strip_tags($val); | + | |
- | $val = preg_replace("/[^a-zA-Z@._-]/", "", $val); | + | **sbon.php** |
+ | <code php> | ||
+ | function sbonFullName($input) | ||
+ | { | ||
+ | $allowed = 'abcdefghijklmnopqrstuvwxyz 1234567890'; | ||
+ | $ret=true; | ||
+ | |||
+ | for($i=0; $i<strlen($input); $i++) | ||
+ | { | ||
+ | |||
+ | if (strpos($allowed, $input[$i]) === false) | ||
+ | { | ||
+ | $ret=false; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | return $ret; | ||
+ | |||
+ | } | ||
- | return $val; | + | </code> |
- | } | + | |
- | function sbonTxt($val,$addSlashes=false) | + | **index.php** (semplice pagina per le prove) |
+ | |||
+ | <code php> | ||
+ | <?php require('sbon.php') ?> | ||
+ | <!DOCTYPE html> | ||
+ | <html> | ||
+ | <head><title>Sbon</title> | ||
+ | <style> | ||
+ | div { | ||
+ | margin-bottom: 10px; | ||
+ | } | ||
+ | </style> | ||
+ | </head> | ||
+ | <body> | ||
+ | <h2>Test sbon</h2> | ||
+ | <p>A simple page for testing sbon</p> | ||
+ | <form method="post" action="index.php"> | ||
+ | <div><input type="text" name="string"></div> | ||
+ | <div><button name="send" type="submit">Send</button></div> | ||
+ | |||
+ | </form> | ||
+ | <?php | ||
+ | if (isset($_POST["send"])) | ||
{ | { | ||
- | $val= strip_tags($val); | + | if (sbonFullName($_POST['string'])) |
- | if ($addSlashes==True) $val=addslashes($val); | + | { |
- | return $val; | + | echo "<h2>Stringa OK</h2>" ; |
+ | }else{ | ||
+ | echo "<h2>Stringa non valida!</h2>" ; | ||
+ | } | ||
} | } | ||
?> | ?> | ||
+ | </body> | ||
+ | </html> | ||
+ | |||
</code> | </code> | ||
+ |
Il nostro wiki installa solamente cookie tecnici necessari al funzionamento della piattaforma "Dokuwiki". Niente analitics, statistiche, tracciamenti o altro.