Skip to content
Extraits de code Groupes Projets
Valider f8cd96a8 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

"complement a [13521]"

parent d222863d
Branches
Étiquettes
Aucune requête de fusion associée trouvée
...@@ -21,7 +21,7 @@ function redirige_par_entete($url, $equiv='', $status = 302) { ...@@ -21,7 +21,7 @@ function redirige_par_entete($url, $equiv='', $status = 302) {
if (!in_array($status,array(301,302))) if (!in_array($status,array(301,302)))
$status = 302; $status = 302;
$url = strtr($url, "\n\r", " "); $url = trim(strtr($url, "\n\r", " "));
# en theorie on devrait faire ca tout le temps, mais quand la chaine # en theorie on devrait faire ca tout le temps, mais quand la chaine
# commence par ? c'est imperatif, sinon l'url finale n'est pas la bonne # commence par ? c'est imperatif, sinon l'url finale n'est pas la bonne
if ($url[0]=='?') if ($url[0]=='?')
...@@ -35,8 +35,11 @@ function redirige_par_entete($url, $equiv='', $status = 302) { ...@@ -35,8 +35,11 @@ function redirige_par_entete($url, $equiv='', $status = 302) {
// ne pas laisser passer n'importe quoi dans l'url // ne pas laisser passer n'importe quoi dans l'url
$url = str_replace(array('<','"'),array('&lt;','&quot;'),$url); $url = str_replace(array('<','"'),array('&lt;','&quot;'),$url);
// interdire les url inline avec le pseudo-protocole data: // interdire les url inline avec des pseudo-protocoles :
if (preg_match(",data:,i",$url) AND preg_match("/base64\s*/i",$url)) if (
(preg_match(",data:,i",$url) AND preg_match("/base64\s*,/i",$url))
OR preg_match(",(javascript|mailto):,i",$url)
)
$url ="./"; $url ="./";
// Il n'y a que sous Apache que setcookie puis redirection fonctionne // Il n'y a que sous Apache que setcookie puis redirection fonctionne
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter