PHP filtre


PHP filtre

Filtres PHP sont utilisés pour valider et de filtrer les données provenant de sources d'insécurité, comme l'entrée d'utilisateur.

Qu'est-ce qu'un filtre PHP?

Un filtre PHP est utilisé pour valider et de filtrer les données provenant de sources d'insécurité.
Pour tester, valider et de filtrer l'entrée d'utilisateur ou des données personnalisées est une partie importante de toute application web.
L'extension PHP filtre est conçu pour rendre le filtrage de données plus facile et plus rapide.

Pourquoi utiliser un filtre?

Presque toutes les applications Web dépendent de l'entrée externe. Habituellement, cela provient d'un utilisateur ou une autre application (comme un service Web). En utilisant des filtres, vous pouvez être sûr que votre application obtient le type d'entrée correcte.
Vous devriez toujours filtrer toutes les données externes!
Entrée filtrage est l'une des questions les plus importantes de sécurité des applications.
Qu'est-ce que des données externes?
  • Les données d'entrée d'un formulaire
  • Cookies
  • Les services Web de données
  • Variables du serveur
  • Résultats de la requête de base de données

Fonctions et filtres

Pour filtrer une variable, utilisez l'une des fonctions de filtres suivants:
  • filter_var () - Filtre une variable unique avec un filtre spécifique
  • filter_var_array () - Filtre à plusieurs variables avec les filtres identiques ou différents
  • filter_input - Obtenez une variable d'entrée et de la filtrer
  • filter_input_array - Obtenez plusieurs variables d'entrée et de les filtrer avec des filtres identiques ou différents
Dans l'exemple ci-dessous, nous validons un entier en utilisant la fonction filter_var ():
<?php
$int = 123;

if(!filter_var($int, FILTER_VALIDATE_INT))
  {
  echo("Integer is not valid");
  }
else
  {
  echo("Integer is valid");
  }
?>
Le code utilise au-dessus du "FILTER_VALIDATE_INT" filtre pour filtrer la variable. Depuis l'entier est valide, la sortie du code ci-dessus sera: "Integer est valide".
Si nous essayons avec une variable qui n'est pas un entier (comme "123abc"), la sortie sera: "Integer n'est pas valide".
Pour une liste complète des fonctions et des filtres, visitez notre référence PHP Filter.

Validation et assainissement

Il existe deux types de filtres:
Validation des filtres:
  • Sont utilisés pour valider les entrées utilisateur
  • Règles strictes de format (comme URL ou E-Mail de validation)
  • Retourne le type attendu en cas de succès ou FALSE en cas d'échec
Assainissement: filtres
  • Sont utilisés pour autoriser ou interdire les caractères spécifiés dans une chaîne
  • Pas de règles de format de données
  • Toujours remettre la chaîne

Options et Drapeaux

Options et drapeaux sont utilisés pour ajouter des options de filtrage pour les filtres spécifiés.
Différents filtres ont des options différentes et des drapeaux.
Dans l'exemple ci-dessous, nous validons un entier en utilisant l'filter_var () et le "min_range" et "max_range" Options:
<?php
$var=300;

$int_options = array(
"options"=>array
  (
  "min_range"=>0,
  "max_range"=>256
  )
);

if(!filter_var($var, FILTER_VALIDATE_INT, $int_options))
  {
  echo("Integer is not valid");
  }
else
  {
  echo("Integer is valid");
  }
?>
Comme le code ci-dessus, les options doivent être mis dans un tableau associatif avec le nom "d'options". Si un indicateur est utilisé, il n'a pas besoin d'être dans un tableau.
Depuis l'entier est "300" il n'est pas dans la plage spécifiée, et la sortie du code ci-dessus sera: "Integer n'est pas valide".
Pour une liste complète des fonctions et des filtres, visitez notre référence PHP Filter. Vérifiez chaque filtre pour voir quelles options sont disponibles et des drapeaux.

Valider l'entrée

Essayons de valider une entrée à partir d'un formulaire.
La première chose que nous devons faire est de confirmer que les données d'entrée, nous recherchons des existe.
Ensuite, nous avons filtrer les données d'entrée en utilisant le filter_input () la fonction.
Dans l'exemple ci-dessous, la variable d'entrée "email" est envoyé à la page PHP:
<?php
if(!filter_has_var(INPUT_GET, "email"))
  {
  echo("Input type does not exist");
  }
else
  {
  if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL))
    {
    echo "E-Mail is not valid";
    }
  else
    {
    echo "E-Mail is valid";
    }
  }
?>

Exemple Expliqué

L'exemple ci-dessus a une entrée (email) envoyé à l'aide de la méthode "GET":
  1. Vérifiez si une variable "email" d'entrée de la "GET" type existent
  2. Si la variable d'entrée existe, vérifier si il est une adresse e-mail

Désinfectez entrée

Essayons de nettoyage en place d'un URL envoyé à partir d'un formulaire.
Nous avons d'abord confirmer que les données d'entrée, nous recherchons des existe.
Ensuite, nous désinfecter les données d'entrée en utilisant le filter_input () la fonction.
Dans l'exemple ci-dessous, la variable d'entrée "url" est envoyé à la page PHP:
<?php
if(!filter_has_var(INPUT_POST, "url"))
  {
  echo("Input type does not exist");
  }
else
  {
  $url = filter_input(INPUT_POST,
  "url", FILTER_SANITIZE_URL);
  }
?>

Exemple Expliqué

L'exemple ci-dessus a une entrée (url) envoyé à l'aide de la méthode "POST":
  1. Vérifiez si le "url" d'entrée de la "POST" type existe
  2. Si la variable d'entrée existe, désinfecter (à emporter caractères non valides) et le stocker dans la variable $ url
Si la variable d'entrée est une chaîne comme ça »http://www.W3ååSchøøools.com/", la variable $ url après la désinfection devrait ressembler à ceci:
http://www.W3Schools.com/


Filtrez les entrées multiples

Une forme presque toujours constitués de plus d'un champ de saisie. Pour éviter d'appeler les fonctions filter_var ou filter_input encore et encore, nous pouvons utiliser la ou les fonctions filter_var_array filter_input_array.
Dans cet exemple nous utilisons le filter_input_array () pour filtrer trois variables GET. Le reçu variables GET est un nom, un âge et une adresse e-mail:
<?php
$filters = array
  (
  "name" => array
    (
    "filter"=>FILTER_SANITIZE_STRING
    ),
  "age" => array
    (
    "filter"=>FILTER_VALIDATE_INT,
    "options"=>array
      (
      "min_range"=>1,
      "max_range"=>120
      )
    ),
  "email"=> FILTER_VALIDATE_EMAIL
  );

$result = filter_input_array(INPUT_GET, $filters);

if (!$result["age"])
  {
  echo("Age must be a number between 1 and 120.<br />");
  }
elseif(!$result["email"])
  {
  echo("E-Mail is not valid.<br />");
  }
else
  {
  echo("User input is valid");
  }
?>

Exemple Expliqué

L'exemple ci-dessus a trois entrées (nom, âge et adresse électronique) qui lui sont envoyés en utilisant la méthode "GET":
  1. Définir un tableau contenant le nom des variables d'entrée et les filtres utilisés sur les variables d'entrée spécifiés
  2. Appelez le filter_input_array () avec les variables d'entrée GET et le tableau que nous venons de mettre
  3. Cochez la case "âge" et "email" variables dans le résultat variable $ pour les entrées non valides. (Si aucune des variables d'entrée ne sont pas valides, cette variable d'entrée sera FALSE après la filter_input_array () la fonction)
Le deuxième paramètre de la filter_input_array () peut être un tableau ou un ID unique filtre.
Si le paramètre est un identifiant unique filtre toutes les valeurs dans le tableau d'entrée sont filtrés par le filtre spécifié.
Si le paramètre est un tableau, il doit suivre ces règles:
  • Doit être un tableau associatif contenant une variable d'entrée comme une clé du tableau (comme la variable "âge" d'entrée)
  • La valeur du tableau doit être un ID de filtre ou d'un tableau précisant les filtre, les drapeaux et les options

Utiliser le rappel filtre

Il est possible d'appeler une fonction définie par et l'utiliser comme un filtre en utilisant le filtre FILTER_CALLBACK. De cette façon, nous avons le plein contrôle de filtrage des données.
Vous pouvez créer votre propre fonction de l'utilisateur défini ou utiliser une fonction existante PHP
La fonction que vous souhaitez utiliser pour filtrer est spécifié de la même manière comme une option est spécifiée. Dans un tableau associatif avec le nom "les options"
Dans l'exemple ci-dessous, nous utilisons une fonction utilisateur de convertir la totalité "_" pour les espacements:
<?php
function convertSpace($string)
{
return str_replace("_", " ", $string);
}

$string = "Peter_is_a_great_guy!";

echo filter_var($string, FILTER_CALLBACK,
array("options"=>"convertSpace"));
?>
Le résultat à partir du code ci-dessus devrait ressembler à ceci:
Peter is a great guy!

Exemple Expliqué

L'exemple convertit au-dessus de tous les "_" pour les espacements:
  1. Créer une fonction pour remplacer "_" pour les espacements
  2. Appelez le filter_var () avec le filtre FILTER_CALLBACK et un tableau contenant notre fonction

5 commentaires:

  1. Good day very nice website!! Guy .. Beautiful .
    . Superb .. I will bookmark your blog and take the feeds also?
    I'm happy to search out numerous helpful information here in the put up, we need develop extra strategies in this regard, thanks for sharing. . . . . .

    My webpage - housekeeping jobs in rochester ny

    ReplyDelete
  2. When some one searches for his required thing, therefore he/she needs to be available that in detail, so that thing is maintained
    over here.
    hardwood floor

    My web blog: installing hardwood floors

    ReplyDelete
  3. I am really inspired with your writing skills as neatly as with the layout to your blog.

    Is this a paid theme or did you modify it your self?

    Anyway stay up the excellent quality writing, it is rare to peer
    a nice weblog like this one today..

    Also visit my webpage :: provillus review

    ReplyDelete
  4. Do you have a spam problem on this site; I also am a blogger, and
    I was wanting to know your situation; we have created some nice procedures and
    we are looking to trade strategies with others, be
    sure to shoot me an email if interested.
    accredited business degree

    my homepage - pflugerville texas

    ReplyDelete
  5. Oneway links need normally got a few touching on how very perfectly an internet site rated
    from search generator end consequence web sites (SERPs).
    Though, up to now, all these formulas are not manufactured to give consideration to men and
    women doing this to defraud comes with through rerepowering high on inlinks in webweb
    internet web-web pages which have nothing but connections about
    them, an absense of articles from a actual
    importance. Internet sites instantly had become which is called "backwebrelationship harvesting" coupled with were chosen just with webmasters to maximize the particular grade of the a lot
    of places.
    In addition to this put into technique, website commonly developed you web page expressly to house reciprocal
    backlinks to your site known as a web resources sheet.
    It searched by people today setting up reciprocal links to higher use their site and google vehicle improvement but currently offered absolutely simply zero normal articles and
    other content and articles. Quite often, reciprocal
    hyperback backinbound one-way one way back-shortcuts was quite possibly market anywhere
    from places which in fact have certainly basically little redirectly
    significance together so. Consequently, in any backlinks to your site sheet you might find a keyword rich link towards a product site after the
    internet hosting the web link had to do with the ageing.
    The idea undoubtedly put together little or no more perfect sense typically compensate any such behind the scenes positions adjustments!

    Search engines has been the primary principal the search engines
    like bing get started on examining find out the best ways to treat reliable hyperback backinbound one-way one way back-shortcuts who had meaning plus increased text-based
    content with a web pages instead of gratifying expertise, unfortunately
    relatively corrupt habits with fooling around the search engine consequences
    with installation bargains and also dunkelhrrutige do
    not lik tactics. These products preserved applying inbound links as being a determinant about standing, but additionally
    grew a protocol to search for special quality connections and
    also punishing connection farming as well schokohrrutige cheap tall sun hardhard hat moves.

    A suitable one way link is absolutely simple and easy. All the time another web site
    places some Web link link on webweb internet web page
    of which links particularly back in your websites,
    it's called an important one-way link.
    Foods url links crucial? Given that advice give individuals a site, along with while they guide enhance your site's internet search results reputation.

    Doing this as a result of only a click straight forward backchek out
    your site? That's right! Unfortunately provided that you're sure your
    variation anywhere from varieties of back link and then understand how to get the very best mixture of varieties to obtain the the majority
    of targeted visitors your web blog. backlinkbatch
    Take heed, despite the fact, and there is some good and bad points to each and every style of inlink,
    and whenever you have used them inadequately virtually any unhealthy mix
    it is possible to wind up in reality cards optimisation by mistake.

    ReplyDelete

HELLO VISITORS THANKS FOR YOUR VISIT AND COMMENT