Maison > Article > développement back-end > traitement de sécurité des requêtes Web php
1. La différence entre urlencode et rawurlencode
<?php test('https://tieba.baidu.com/f?kw=2&fr=wwwt'); test(':/?= &#'); test('测试'); function test($s) { echo "<b>urlencode('$s')</b> = [<b>"; var_dump(urlencode($s)); echo "</b>]<br/>"; echo "<b>rawurlencode('$s')</b> = [<b>"; var_dump(rawurlencode($s)); echo "</b>]<br/>"; } //运行结果 urlencode('https://tieba.baidu.com/f?kw=2&fr=wwwt') = [ D:\software\wamp\www\linux\webApi\test.php:9:string 'https%3A%2F%2Ftieba.baidu.com%2Ff%3Fkw%3D2%26fr%3Dwwwt' (length=54) ] rawurlencode('https://tieba.baidu.com/f?kw=2&fr=wwwt') = [ D:\software\wamp\www\linux\webApi\test.php:12:string 'https%3A%2F%2Ftieba.baidu.com%2Ff%3Fkw%3D2%26fr%3Dwwwt' (length=54) ] urlencode(':/?= &#') = [ D:\software\wamp\www\linux\webApi\test.php:9:string '%3A%2F%3F%3D+%26%23' (length=19) ] rawurlencode(':/?= &#') = [ D:\software\wamp\www\linux\webApi\test.php:12:string '%3A%2F%3F%3D%20%26%23' (length=21) ] urlencode('测试') = [ D:\software\wamp\www\linux\webApi\test.php:9:string '%E6%B5%8B%E8%AF%95' (length=18) ] rawurlencode('测试') = [ D:\software\wamp\www\linux\webApi\test.php:12:string '%E6%B5%8B%E8%AF%95' (length=18) ]
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>");
Exécuter les résultats
Hello world!
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 "
c882b09cd08a149967b542eddfbf5899 (supérieur à) devient>
<?php echo htmlspecialchars("This is some <b>bold</b> text.&");
Exécuter le résultat
This is some <b>bold</b> text.&
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????>");
Résultat d'exécution
<? W3S?h????>
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('Shanghai is the "biggest" city in China.');
Exécuter le résultat
Shanghai is the \"biggest\" city in China.
6. Stripslashes est la chaîne référencée par restaurer addlashes
<?php echo stripslashes("Who\'s Bill Gates?");
Résultat d'exécution
Who's Bill Gates?
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-beastImplé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!