OVH Cloud OVH Cloud

Interdire le javascript dans les formulaires php ?

11 réponses
Avatar
Me
'Jour,
Comment interdire Javascritpt dans les formulaires traité par php ?
Histoire qu'un malin ne se serve des formulaires pour mettre des boucles
javascript dans ma bd...(C'est du vécu !)

Pour l'instant je bloque un peu sur tout çà...et vu que je recommence le
php, j'ai trouvé plus simple de demander l'info içi ;-)

Si vous avez une adresse sur la question...ou un conseil...

N.B: J'ai eu un mal de chien à publier mon article sur ce news car refusé
trois fois par un bot apparement...c'est toujours comme çà ?

10 réponses

1 2
Avatar
Sebastian 'CrashandDie' Lauwers
Me wrote:

'Jour,


Bonjour à toi,

Si vous avez une adresse sur la question...ou un conseil...


htmlentities ()

Anglais: <http://fr3.php.net/manual/en/function.htmlentities.php>
Français: <http://fr3.php.net/manual/fr/function.htmlentities.php>

N.B: J'ai eu un mal de chien à publier mon article sur ce news car refusé
trois fois par un bot apparement...c'est toujours comme çà ?


Ca n'est pas un bot, c'est l'équipe de modération. Si ton article n'est
pas conforme à la charte, il sera refusé. Un motif de refus t'es envoyé
par mail pour t'informer du problème et te permettre de le règler.

Avatar
Michel BONZI
'Jour,
Bonjour,

Comment interdire Javascritpt dans les formulaires traité par php ?
Histoire qu'un malin ne se serve des formulaires pour mettre des boucles
javascript dans ma bd...(C'est du vécu !)

Pour l'instant je bloque un peu sur tout çà...et vu que je recommence le
php, j'ai trouvé plus simple de demander l'info içi ;-)

Si vous avez une adresse sur la question...ou un conseil...


La fonction strip_tags() est ton amie ;-)
Salutations.
--
Michel BONZI

Avatar
CrazyCat
Me wrote:
'Jour,
Comment interdire Javascritpt dans les formulaires traité par php ?
Histoire qu'un malin ne se serve des formulaires pour mettre des boucles
javascript dans ma bd...(C'est du vécu !)


une regexp qui vire tout ce qui est javascript?
$pattern = "<script[^v]{1,}+</script>";
$string = preg_replace($pattern, "", $string);

Sinon, une autre méthode (plus basique) consiste à utiliser un
html_entities qui fera que le code ne pourra être qu'affiché, la source
devenant: &lt;script language="javascript"&gt;....&lt;/script&gt;


--
Découvrez Original War: http://www.original-war.org
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.c-p-f.net

Avatar
Gilles
Tiens je ne suis pas le seul

--
# ANTISPAM #
Click on the link to answer - Cliquez sur le lien pour répondre
http://www.cerbermail.com/?zH3uNd5dV8
"Me" a écrit dans le message de news:
422ed803$0$30165$
'Jour,
Comment interdire Javascritpt dans les formulaires traité par php ?
Histoire qu'un malin ne se serve des formulaires pour mettre des boucles
javascript dans ma bd...(C'est du vécu !)

Pour l'instant je bloque un peu sur tout çà...et vu que je recommence le
php, j'ai trouvé plus simple de demander l'info içi ;-)

Si vous avez une adresse sur la question...ou un conseil...

N.B: J'ai eu un mal de chien à publier mon article sur ce news car refusé
trois fois par un bot apparement...c'est toujours comme çà ?


Avatar
John GALLET
Bonjour,

Comment interdire Javascritpt dans les formulaires traité par php ?
Histoire qu'un malin ne se serve des formulaires pour mettre des boucles
javascript dans ma bd...(C'est du vécu !)
**SI** je comprends bien ce que tu veux dire, tu parles d'attaque XSS

stockée. On te saisi du code offensif dormant, tu le stockes dans la base,
et quand plus tard quelqu'un regardera le contenu du champ dans son
navigateur, il exécutera (à l'insu de son plein gré) le code offensif.

Si c'est bien ça, eh bien **comme pour toutes les autres attaques** la
**seule** solution fiable, c'est le filtrage des variables.

En revanche, il n'est pas nécessairement possible de prévoir toutes ses
formes, et contrairement à d'habitude, le principe "je refuse tout
caracère qui n'est pas explicitement autorisé" ne fonctionnera pas
nécessairement. Si tu as une zone de saisie qui est un nom de famille, on
admet seulement les caractères alphanumériques plus - et ' pas de xss
possibles avec seulement ça.
En revanche, dès lors que tu vas accepter les caractères < > % ça suffit
pour f... le bazar. Et parfois on peut avoir besoin de les autoriser à la
saisie.
La seule solution consiste donc à les transformer en entitées html, par
exemple avec htmlspecialchars(). Attention du coup à la taille des zones
en sgbdr, elles peuvent augmenter un peu "involontairement".

Si vous avez une adresse sur la question...ou un conseil...
Toujours filtrer ses variables.


N.B: J'ai eu un mal de chien à publier mon article sur ce news car refusé
trois fois par un bot apparement...c'est toujours comme çà ?
Ce forum est modéré, et mon collègue modérateur n'a pas compris le sens de

la question. Nous le fouetterons collectivement en place publique le 30
février prochain, aux alentours des Calendes Grecques.

HTH
JG

Avatar
Me
Merci à tous pour vos réponses...çà valait bien le coup de reposter 3X ;-)

Déso pour avoir pris les modérateurs pour des bots...c'est la premiére fois
que je tombe sur un news aussi bien tenu !

Dans les bêtes questions, où est la charte ?
Avatar
John GALLET
Déso pour avoir pris les modérateurs pour des bots...c'est la premiére fois
que je tombe sur un news aussi bien tenu !
Dans les bêtes questions, où est la charte ?


Facile, il suffit de lire la FAQ ;-)
http://faqfclphp.free.fr/#rub1.3

a++;
JG

Avatar
Eric Demeester
dans (in) fr.comp.lang.php, "Me" ecrivait
(wrote) :

Bonsoir,

Dans les bêtes questions, où est la charte ?


Ici : <http://www.usenet-fr.net/fur/chartes/comp.lang.php.html>

Et là :

<news:


--
Eric

Avatar
Olivier Miakinen
Le 09/03/2005 15:15, John GALLET répondait à Me :

Ce forum est modéré, et mon collègue modérateur n'a pas compris le sens de
la question.


En effet.

Nous le fouetterons collectivement en place publique le 30
février prochain, aux alentours des Calendes Grecques.


Aïe ! J'ai déjà été fouetté le 31 février dernier (jour indiqué à ma
montre) parce que la veille j'aurais dû appeler mon père pour son
anniversaire. Pourtant il n'est né que le 2 mars.

--
Olivier Miakinen
(désolé, mais pas trop fort, le fouet)

Avatar
Jean-Baptiste Nizet
<JG>
La seule solution consiste donc à les transformer en entitées html,
par
exemple avec htmlspecialchars(). Attention du coup à la taille des
zones
en sgbdr, elles peuvent augmenter un peu "involontairement".
</JG>

Je suis évidemment d'accord sur l'usage de htmlspecialchars(), mais
absolument pas sur le fait de l'utiliser avant de stocker les données
en base de données. htmlspecialchars() doit être utilisé lorsqu'on
veut afficher les données dans une page web, mais ces données doivent
être stockées telles que l'utilisateur les a saisies. En effet, si tu
dois faire des recherches sur le texte, ou écrire ces données dans un
fichier texte, ou générer du PDF, ou quoi que ce soit d'autre, alors
le fait d'avoir transformé le texte avant de le stocker va poser des
problèmes!
Une base de données stocke des données, et les considérations liées
à la présentation ne doivent pas avoir d'impact sur les données.

JB.
1 2