Sécuriser un texte enregistré sur le serveur : supprimer l'execution du php et javascript

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 888 fois - Téléchargée 28 fois

Contenu du snippet

Bonjour à tous,

voilà mon premier script que je me suis permis de déposer car je ne l'ai pas trouvé précédemment après moultes et moultes recherches ;)

C'est vraiment con et c'est rien de nouveau : ça empèche juste le javascript et le php d'etre interprété (extensible à l'asp)...
Attention : ça n'empèche pas l'hmtl de s'executer, sinon autant utiliser htmlentities() et ça n'est pas le but...

Pour cela, on remplace juste les balises d'ouverture de script ( les caractères "<" et ">" ) par leurs équivalent html qui sont < et >

Comme ça dans la page on a ça :
<?
echo "Hello World !!";
?>

C'est différent de <? et ?> car la les balises ne sont pas reconnues, et à l'affichage de la page on a :
<? echo "Hello World !!"; ?>

Voilà pas compliqué, ça permet de sécuriser par exemple les post dans un forum, ou alors quand on upload une page web sur le serveur....

Source / Exemple :


// Enlève les scipts d'une chaine
function RemoveScriptstr($str)
{
	$str = str_replace(array('<script','</script>','<?','?>'), array('<script','</script>','<?','?>'), $str);
	return $str;
}

Conclusion :


Petites précisions :
Je suis débutant confirmé (c'est à dire que je confirme très beaucoup que je suis débutant) donc rien n'est optimisé, il y a surement des meilleures méthodes, des oublis et tout et tout...

JE COMPTE SUR VOUS POUR PROPOSER DES AMELIORATIONS ;)

Merci

MadMatt

(merci au forum CS)

A voir également

Ajouter un commentaire

Commentaires

cs_Anthomicro
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8 -
Salut,

tu peux remplacer tes multiples str_replace par des array :

function removescriptstr(&$str)
{
$str=str_replace(array('<script','</script>','<?','?>'),array('alt;script','</script>','<?','?>'),$str);
}

Ensuite t'appelles ta fonction comme ça par exemple :

<?php
function removescriptstr(&$str)
{
$str=str_replace(array('<script','</script>','<?','?>'),array('<script','</script>','<?','?>'),$str);
}
$var='<script>machin';
echo removescriptstr($var);
?>

a +
cs_Arnauti
Messages postés
418
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
26 septembre 2009
-
Je trouve que ce code est tres pratique, moi qui savait pas comment faire.

Merci,
A++
MadM@tt
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
-
Arnauti >> Merci ;)

AnthoMicro >> Excellente idée ça raccourcirait le code et ça n'appelerait la fonction qu'une seule fois, mais c'est plus rapide ?
Merci pour la suggestion en tout cas, et j'en attend d'autre si vous en avez !
cs_Anthomicro
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8 -
oui c'est plus rapide ;-)
cs_Anthomicro
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8 -
Au fait je vois que tu rentres à l'INSA de Lyon ;-)

Chapeau faut le faire, t'es un bon ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.