2010-08-28 3 views
0

Comment puis-je empêcher les utilisateurs d'entrer <?php ?> dans mes formulaires. J'utilise urlencode() et j'utilise urldecode() pour renvoyer des données sur ma page. Quelle est la meilleure chose à faire?Comment puis-je éviter que les utilisateurs entrent du code php dans mon formulaire?

MISE À JOUR:

Je suis en train d'écrire à la base de données avec le texte urlencoded:

htmlentities (urlencode($_POST['postmessage'])); 

J'utilise:

<?php echo htmlentities (urldecode($row['content'])) ?> 

l'écho des données enregistrées. Est-ce suffisant??

+2

Si vous 'echo() 'quelque chose comme' ', qui ne serait pas exécuté en tant que code PHP, mais il serait envoyé directement au navigateur, qui l'ignorerait simplement. Par conséquent, les utilisateurs peuvent entrer du code PHP dans vos formulaires sans faire de mal, à moins bien sûr que vous utilisiez 'eval()' ou 'include()'/'require()' avec une entrée utilisateur, ce que vous ne devriez pas faire de toute façon – Frxstrem

Répondre

4

Je vous suggère d'utiliser le HTML Purifier pour que:

Purificateur HTML est conforme aux normes bibliothèque de filtres HTML écrit en PHP. HTML Purifier non seulement supprimer tous code malveillant (mieux connu sous le nom XSS) avec un fond vérifié,
whitelist encore permissive sûr, il sera également vous assurer que vos documents sont conforme aux standards, quelque chose que réalisable avec une approche globale connaissance des spécifications du W3C.

0

Eh bien, vous pouvez vous débarrasser de tous les personnages qui ne font pas partie d'une URL

$var = filter_var($url, FILTER_SANITIZE_URL); 

Ensuite, vous pouvez vérifier qu'il est une URL valide

$var = filter_var($url, FILTER_VALIDATE_URL); 
if($var == false) 
    die("Bad URL"); 
0

ce sont tu fais avec le code? l'exécuter? quand vous faites écho le code php theres pas besoin de s'inquiéter côté serveur ... vous voulez plutôt faire html_entity_encode pour garder votre site d'être foiré ou être injecté par iframes/javascripts par les messages de l'utilisateur

Questions connexes