Filtri PHP - Convalida e Sanificazione

P
Sessioni PHP e cookie
PHP JSON e funzioni di callback

In questo articolo imparerai alcuni utili argomenti PHP come da titolo, filtri e funzioni di callback. Cominciamo con i filtri.

Filtri PHP

I filtri PHP vengono utilizzati per disinfettare e convalidare i dati di input.

sanificazione: Per rimuovere qualsiasi carattere illegale dai dati di input.

Convalida: Processo per determinare se i dati di input sono nella forma corretta.

I filtri PHP assicurano la sanificazione e la convalida dei dati prima di inviare la richiesta.

Perché la Sanificazione e la Validazione è importante?

Supponiamo di avere un campo di input sulla tua pagina web, dove l'utente può digitare il suo indirizzo. Gli hacker possono inviare qualsiasi script in quel campo di input che può andare al server tramite richiesta e consentire all'hacker di violare il sistema, Sanitization non consente l'esecuzione di script sul lato server.

D'altra parte, supponi di avere una pagina web di accesso, che richiede un'e-mail e una password dall'utente. La convalida verifica se il campo email è compilato con un formato email valido e la lunghezza minima e massima del campo password non è violata.

Estensione filtro PHP

L'estensione del filtro PHP è progettata per rendere la convalida dei dati più rapida e semplice. L'estensione del filtro PHP contiene molte funzioni integrate che aiutano a controllare i dati di input con facilità.

filter_list function in PHP restituisce tutte le funzioni disponibili nell'estensione del filtro.

 <?php
  foreach (filter_list() as $id =>$filter) {
    echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
  }
  ?>

Quali sono le fonti in cui è richiesta la filtrazione dei dati?

Le seguenti fonti possono inserire dati esternamente e necessitano di filtraggio.

  • Inserisci i campi in un modulo
  • Cookies
  • Dati dei servizi web
  • Variabili del server
  • Risultati delle query del database

Funzione Filter_var in PHP

Questa funzione disinfetta e filtra i dati memorizzati nella variabile. Accetta due parametri. Il primo parametro è la variabile su cui si desidera applicare il filtro. Il secondo parametro è il tipo di filtro da applicare alla variabile. Ora impareremo alcuni importanti tipi di filtri disponibili in PHP.

Come disinfettare una stringa in PHP?

Il filtro FILTER_SANITIZE_STRING rimuove tutti i tag HTML dalla stringa. Gli aggressori web possono inviare script come parte degli attributi del tag HTML. Pertanto, i tag HTML sono dannosi da consentire nella stringa. Guarda il seguente esempio.

<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>

Come convalidare un numero intero in PHP?

FILTER_VALIDATE_INT controlla se il numero è un numero intero o meno. Il secondo parametro contiene il filtro della funzione filer_var e il primo parametro contiene il numero. Passa attraverso l'esempio qui sotto.

<?php
$int = 100;

if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
  echo("Integer is valid");
} else {
  echo("Integer is not valid");
}
?>

Nota: la funzione filter_var con FILTER_VALIDATE_INT considera 0 come un numero non intero. Quindi, se è necessario includere 0 negli interi, è possibile modificare la condizione if dell'esempio precedente per consentire lo 0.

Come convalidare gli indirizzi IP in PHP?

FILTER_VALIDATE_IP il filtro controlla l'indirizzo IP valido. Il primo parametro è l'indirizzo IP e il secondo parametro è il nome del filtro nella funzione filter_var.

<?php
$ip = "127.0.0.1";

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
  echo("$ip is a valid IP address");
} else {
  echo("$ip is not a valid IP address");
}
?>

Come disinfettare e convalidare le e-mail in PHP?

filter_var esegue sia la convalida che la sanificazione della posta elettronica passata come secondo parametro a questa funzione. Per disinfettare l'e-mail, utilizzare FILTER_SANITIZE_EMAIL prima con la funzione filer_var, e poi per la convalida dell'e-mail, usa FILTER_VALIDATE_EMAIL filtro. Guarda l'esempio qui sotto.

<?php
$email = "john.doe@example.com";

// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
  echo("$email is a valid email address");
} else {
  echo("$email is not a valid email address");
}
?>

Come disinfettare l'URL in PHP?

Passa l'URL come primo parametro alla funzione filer_var e FILTER_VALIDATE_URL come secondo parametro. Rimuoverà tutti i caratteri illegali dall'URL. È molto utile filtrare.

<?php
$url = "https://www.w3schools.com";

// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);

// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
  echo("$url is a valid URL");
} else {
  echo("$url is not a valid URL");
}
?>

Che cos'è un'eccezione e come generare un'eccezione in PHP?

Un'eccezione è un oggetto che indica che si è verificato un errore durante l'esecuzione dello script. Le funzioni e le classi PHP generano eccezioni e anche le funzioni definite dall'utente possono generare eccezioni.

Le eccezioni sono un modo efficiente per interrompere una funzione senza produrre risultati errati alla fine.

gettare la parola chiave invia eccezioni. Prova a prendere block cattura le eccezioni generate dal blocco di codice. Se le eccezioni non vengono catturate, verrà restituito un errore irreversibile di eccezione non rilevata.

STIMA SMART DI block consiste nel blocco di codice per consentire l'esecuzione. lotta block viene eseguito solo quando il blocco try genera un'eccezione. È possibile ottenere informazioni sull'eccezione nel blocco catch utilizzando l'oggetto eccezione. Guarda l'esempio seguente in cui la divisione per 0 eccezioni viene generata e acquisita nel blocco catch.

<?php
function divide($dividend, $divisor) {
  if($divisor == 0) {
    throw new Exception("Division by zero");
  }
  return $dividend / $divisor;
}

try {
  echo divide(5, 0);
} catch(Exception $e) {
  echo "Unable to divide.";
}
?>

Per un riferimento completo ai filtri, puoi fare riferimento per saperne di più, clicca qui.

Sessioni PHP e cookie
PHP JSON e funzioni di callback

Aggiungi un commento

Rete di tutor

Condividi questo

Impara PHP dalla A alla Z