2010-09-24 4 views
1

Un type a essayé de l'exploiter en utilisant ce scriptMon site est vulnérable à ce script ..Comment le corriger?

http://www.searchr.us/web-search.phtml?search=%22%3E%3Cscript%3Ealert%28String.fromCharCode%2872%29+String.fromCharCode%28105%29%29;%3C/script%3E 

Comment puis-je arrêter?

Et il a également dit qu'il est vulnérable à XSS et LPI ... S'il vous plaît aidez-moi à l'arrêter.

Vous Remerciant,

+15

Oh mon dieu, vous n'avez pas réellement [prendre mes conseils] (http://stackoverflow.com/questions/3788572/are-there-any-vulnerabilities-of-this-site-closed) l'avez-vous fait? – fredley

+0

@fredley - c'est de la comédie en or là-bas – LittleBobbyTables

+0

Que signifie LPI? – Brandon

Répondre

4

La solution rapide est de:

<?php echo htmlspecialchars($blah); ?> 

au lieu de

<?php echo $blah; ?> 

La solution à long est de lire un livre sur la sécurité du site Web.

+0

Je l'ai fait .. mais encore il est vulnérable non? – 5416339

6

Vous devez HTML encoder toutes les données saisies par l'utilisateur que vous sortie, y compris la chaîne de recherche de l'utilisateur.

Pour être sûr, encoder au format HTML toutes les valeurs qui ne sont pas explicitement destinées à être du code HTML.

0

Voyant comment il s'agit d'une chaîne de requête de recherche, je suppose que vous extrayez directement la valeur de la chaîne de requête et que vous la réaffichez à l'utilisateur?

Quelque chose dans le style de "Votre recherche" a donné 0 résultats "?

Vous devez encoder toutes les données saisies par l'utilisateur avant de les afficher.

+0

Yah c'est exactement ce que je fais !! Alors est-ce sécuritaire? Et comment le contrer? – 5416339

+2

Non, ce n'est pas sûr. Chaque fois que vous affichez une valeur saisie par l'utilisateur, vous devez l'encoder. Vous ne pouvez pas leur faire confiance pour entrer des données inoffensives. Voir Novikov réponse pour un moyen facile de résoudre votre problème. – Brandon

Questions connexes