Skip to content

Commit a10c191

Browse files
authored
Expand caution note in parse_url and reference ext/uri (#2723)
* Expand caution note in parse_url and reference ext/uri
1 parent 58794e4 commit a10c191

1 file changed

Lines changed: 25 additions & 10 deletions

File tree

reference/url/functions/parse-url.xml

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<!-- EN-Revision: 4266e03897e77751a6cf7d15f9556c92124d8df3 Maintainer: yannick Status: ready -->
2+
<!-- EN-Revision: b3194d54645b22d5f229fcac3b4baf0d7b85ac8d Maintainer: lacatoire Status: ready -->
33
<!-- Reviewed: no -->
44
<refentry xml:id="function.parse-url" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
55
<refnamediv>
@@ -26,15 +26,30 @@
2626
<function>parse_url</function> fera de son mieux pour les analyser correctement.
2727
</para>
2828
<caution>
29-
<para>
30-
Cette fonction peut ne pas donner des résultats corrects pour les URLs
31-
relatives ou invalides et les résultats peuvent ne pas correspondre au
32-
comportement standard des clients HTTP.
33-
Si des URLs venant d'entrée utilisateur doivent être analysées,
34-
des vérifications supplémentaires sont requises, par exemple en utilisant
35-
<function>filter_var</function> avec le filtre
36-
<constant>FILTER_VALIDATE_URL</constant>.
37-
</para>
29+
<simpara>
30+
Cette fonction ne suit aucun standard URI ou URL établi.
31+
Elle retournera des résultats incorrects ou incohérents pour les URL
32+
relatives ou malformées. Même pour des URL valides, le résultat peut
33+
différer de celui d'un autre analyseur d'URL, car il existe plusieurs
34+
standards différents liés aux URL qui ciblent des cas d'utilisation
35+
différents et qui diffèrent dans leurs exigences.
36+
</simpara>
37+
<simpara>
38+
Le traitement d'une URL avec des analyseurs suivant des standards d'URL
39+
différents est une source courante de vulnérabilités de sécurité. Par
40+
exemple, la validation d'une URL contre une liste de noms d'hôtes
41+
autorisés avec l'analyseur A pourrait être inefficace lorsque la
42+
récupération réelle de la ressource utilise l'analyseur B qui extrait
43+
les noms d'hôtes différemment.
44+
</simpara>
45+
<simpara>
46+
Les classes <classname>Uri\Rfc3986\Uri</classname> et <classname>Uri\WhatWg\Url</classname>
47+
suivent strictement les standards RFC 3986 et WHATWG URL respectivement.
48+
Il est fortement recommandé d'utiliser ces classes pour tout nouveau code
49+
et de migrer les utilisations existantes de la fonction <function>parse_url</function>
50+
vers ces classes, à moins que le comportement de <function>parse_url</function>
51+
ne doive être préservé pour des raisons de compatibilité.
52+
</simpara>
3853
</caution>
3954
</refsect1>
4055

0 commit comments

Comments
 (0)