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

yet a better regex to avoid javascript injection inside the keys option of SearchHighlight

tested with
var_recherche='\'\\'\\\'\\\\'\\\\\'
parent 65d5d1d6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -41,9 +41,13 @@ function surligner_mots($page) { ...@@ -41,9 +41,13 @@ function surligner_mots($page) {
$ref = $_SERVER['HTTP_REFERER']; $ref = $_SERVER['HTTP_REFERER'];
//avoid a js injection //avoid a js injection
$surcharge_surligne = preg_replace(",(?:\\\\{2})*(?:\\\\)',","\'",$_GET["var_recherche"]); if($surcharge_surligne=_request("var_recherche")) {
$surcharge_surligne = preg_replace(",(?<!\\\\)((?:(?>\\\\){2})*)('),","$1\\\\$2",$surcharge_surligne);
$surcharge_surligne = str_replace("\\","\\\\",$surcharge_surligne);
}
foreach($surlignejs_engines as $engine) foreach($surlignejs_engines as $engine)
if($surcharge_surligne || (preg_match($engine[0],$ref) && preg_match($engine[1],$ref))) { if($surcharge_surligne || (preg_match($engine[0],$ref) && preg_match($engine[1],$ref))) {
//good referrer found or var_recherche is not null //good referrer found or var_recherche is not null
$script = "<script src='".find_in_path("javascript/SearchHighlight.js")."'></script> $script = "<script src='".find_in_path("javascript/SearchHighlight.js")."'></script>
<script type='text/javascript'> <script type='text/javascript'>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter