traitement de sécurité des requêtes Web php

不言
Libérer: 2023-04-02 14:56:02
original
1731 Les gens l'ont consulté

1. La différence entre urlencode et rawurlencode

<?php 
test(&#39;https://tieba.baidu.com/f?kw=2&fr=wwwt&#39;);
test(&#39;:/?= &#&#39;);
test(&#39;测试&#39;);
function test($s)
{
    echo "<b>urlencode(&#39;$s&#39;)</b> = [<b>";
    var_dump(urlencode($s));
    echo "</b>]<br/>";
    echo "<b>rawurlencode(&#39;$s&#39;)</b> = [<b>";
    var_dump(rawurlencode($s));
    echo "</b>]<br/>";
}

//运行结果
urlencode(&#39;https://tieba.baidu.com/f?kw=2&fr=wwwt&#39;) = [
D:\software\wamp\www\linux\webApi\test.php:9:string &#39;https%3A%2F%2Ftieba.baidu.com%2Ff%3Fkw%3D2%26fr%3Dwwwt&#39; (length=54)
]
rawurlencode(&#39;https://tieba.baidu.com/f?kw=2&fr=wwwt&#39;) = [
D:\software\wamp\www\linux\webApi\test.php:12:string &#39;https%3A%2F%2Ftieba.baidu.com%2Ff%3Fkw%3D2%26fr%3Dwwwt&#39; (length=54)
]
urlencode(&#39;:/?= &#&#39;) = [
D:\software\wamp\www\linux\webApi\test.php:9:string &#39;%3A%2F%3F%3D+%26%23&#39; (length=19)
]
rawurlencode(&#39;:/?= &#&#39;) = [
D:\software\wamp\www\linux\webApi\test.php:12:string &#39;%3A%2F%3F%3D%20%26%23&#39; (length=21)
]
urlencode(&#39;测试&#39;) = [
D:\software\wamp\www\linux\webApi\test.php:9:string &#39;%E6%B5%8B%E8%AF%95&#39; (length=18)
]
rawurlencode(&#39;测试&#39;) = [
D:\software\wamp\www\linux\webApi\test.php:12:string &#39;%E6%B5%8B%E8%AF%95&#39; (length=18)
]
Copier après la connexion

Comme le montrent les résultats d'exécution ci-dessus, les deux méthodes urlencode et rawurlencode ont les mêmes résultats lors du traitement des lettres, des chiffres, les symboles spéciaux et le chinois sont les mêmes, la seule différence est le traitement des espaces, le code urlen est traité comme "+", le code brut est traité comme "%20"

2. Fonction strip_tags : supprimez HTML et PHP. tags

Remarque : Cette fonction peut supprimer toutes les chaînes de balises HTML et PHP contenues dans la chaîne. Si les balises HTML et PHP de la chaîne sont erronées à l'origine, par exemple si le symbole supérieur à est manquant, une erreur sera également renvoyée. Cette fonction a la même fonction que fgetss(). fgetss lit le fichier à partir du fichier et supprime les balises html et php.

<?php

echo strip_tags("Hello <b>world!</b>");
Copier après la connexion

Exécuter les résultats

Hello world!
Copier après la connexion

3. Fonction htmlspecialchars, convertir les caractères spéciaux au format HTML

fonction htmlspecialchars() Convertir les caractères prédéfinis aux entités HTML. Les caractères prédéfinis pour
sont :
& (esperluette) devient &
" (guillemet double) devient "
" (guillemet simple) devient "
<
> (supérieur à) devient>

<?php
echo htmlspecialchars("This is some <b>bold</b> text.&");
Copier après la connexion

Exécuter le résultat

This is some <b>bold</b> text.&
Copier après la connexion

4. Fonction htmlentities, convertissez tous les caractères en chaînes HTML

Peut-être regrettez-vous encore que les htmlspecialchars ne puissent gérer que 4 balises html, alors maintenant vous ne le regrettez pas. , htmlentities convertit tous les caractères.

<?php

echo htmlentities("<? W3S?h????>");
Copier après la connexion

Résultat d'exécution

<? W3S?h????>
Copier après la connexion

5. ajoute des barres obliques, la fonction renvoie une chaîne avec une barre oblique inverse ajoutée avant les caractères prédéfinis.

Les caractères prédéfinis sont :
Guillemet simple (')
Guillemet double (")
Barre oblique inverse ()
NULL

<?php

echo addslashes(&#39;Shanghai is the "biggest" city in China.&#39;);
Copier après la connexion

Exécuter le résultat

Shanghai is the \"biggest\" city in China.
Copier après la connexion

6. Stripslashes est la chaîne référencée par restaurer addlashes

<?php

echo stripslashes("Who\&#39;s Bill Gates?");
Copier après la connexion

Résultat d'exécution

Who&#39;s Bill Gates?
Copier après la connexion

Ce qui précède est l'intégralité du contenu de cet article, j'espère. cela sera utile à tout le monde. L'apprentissage sera utile. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois >

Cryptage du code source PHP php-beast

Implémentation PHP de l'envoi d'e-mails à l'aide de la boîte aux lettres QQ

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!