Questo testo è sufficiente per la pulizia in un modulo PHP?

1

Ti chiedi se quanto segue è sufficiente per l'input di sanitizzazione in un semplice modulo di contatto che contiene input per $name , $email , $phone e $text . Grazie!

Non c'è SQL.

Mi sto semplicemente chiedendo se sto facendo bene.

<?php

$name = $email = $phone = $text = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = test_input ($_POST['name']);
    $email = test_input ($_POST['email']);
    $phone = test_input ($_POST['phone']);
    $text = test_input ($_POST['text']);
}

function test_input($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}
    
posta A Tom Called Stu 29.05.2015 - 22:40
fonte

2 risposte

3

Chiamare htmlspecialchars($data) probabilmente sta bene se il tuo programma sta solo interagendo con HTML, quindi nel tuo semplice esempio probabilmente è ok. Ma man mano che i programmi diventano più complicati e i dati vengono trasferiti in ambienti diversi, ciò non lo farà più. Ad esempio, le stringhe che sono pericolose in HTML sono diverse dalle stringhe che sono pericolose in JavaScript, SQL, o Bash, o

risposta data 29.05.2015 - 23:21
fonte
0

Non sono un esperto ma uso "l'approccio White List", ho appreso che il processo si chiama così in seguito.

La semplice funzione che uso pesantemente è

preg_replace()

Esempio di numeri:

$_filtered = preg_replace('/[^0-9]/', '', $_foo)

e poi

$dbh->prepare($_query) Istruzioni preparate per PDO per la parte SQL successiva.

    
risposta data 02.06.2015 - 14:51
fonte

Leggi altre domande sui tag