begin process at 2012 05 28 17:46:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Bloquer des caractères ou chaine


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Bloquer des caractères ou chaine

mardi 28 septembre 2010 à 21:53:35 | Bloquer des caractères ou chaine

booba27100

Bonjour, depuis peu, je me suis aperçu que dans ma zone de saisie sur ma page php, lorsque je tape une phrase, et que je click sur 'ajouter', elle s'ajoute à ma bdd.

OR quand je tape un truc du genre
Code Javascript :
<SCRIPT LANGUAGE="JavaScript">document.location.href="http://google.fr"</SCRIPT>
dans ma zone de saisie,
cela me l'ajoute à la bdd mais me redirige vers google.fr
Autrement dit, mondomaine.com pointe vers google.fr

J'aimerais contrer cette faille en bloquant dans la zone de saisie la chaine "<script" "</script>" "location" "href" et en profiter aussi pour bloquer les "http" "https"

Je pense que ceci se passe coté client, mais peut être qu'il faut effectuer certaines modifications du coté serveur.


Merci de votre aide en tout cas
mercredi 29 septembre 2010 à 00:16:15 | Re : Bloquer des caractères ou chaine

TychoBrahe

Salut,

Tu viens de découvrir le principe des attaques XSS. Un moyen efficace d'empêcher ça est d'utiliser htmlentities. Ce n'est bien entendu pas la seule faille de ce genre, une autre fréquente dont tu devrais vérifier la présence est l'injection de SQL. Si tu t'intéresses à ce genre de choses, je t'invite à lire le top 25 des erreurs de programmation les plus dangereuses, c'est très instructif (et comme par hasard le XSS et l'injection de SQL sont les deux premières).
mercredi 29 septembre 2010 à 15:45:34 | Re : Bloquer des caractères ou chaine

booba27100

D'accord, je vous montre un extrait de mon php requete sql

Code PHP :
<?
include ("config.php");
if ($_POST["voiture"]) {
	$var=$_POST["voiture"];
	
	mysql_query("INSERT INTO vehicules VALUES(NULL, '$var', '1')");
	$x=mysql_query("SELECT * FROM vehicules ORDER BY id DESC LIMIT 1");
	while ($y=mysql_fetch_assoc($x)){
$id=$y['id'];
?>


Après ma zone de saisie en HTML

Code HTML :
<form onSubmit='return valid_form(this)' method="POST" action="index.php"  >

<input type="text" name="voiture" class="comments" maxlength="160" value=" " delay="1500" onblur="if(this.value=='') this.value='blablabla';" onfocus="if(this.value=='blablabla') this.value='' ;"/>
<p id="url"></p>

<!-- Bouton Creer Ma Page -->

<button id="create_button" type="submit" onSubmit='valid_form(this)' ></button>


J'aimerais savoir ou placer le htmlspecialchars() pour que lors de la saisie par un utilisateur, il ne puisse pas injecter < ou > ou <script> ... des balises succeptibles d'être dangereuses pour la bdd.

Merci
mercredi 29 septembre 2010 à 15:55:35 | Re : Bloquer des caractères ou chaine

TychoBrahe

Code PHP :
$var=mysql_real_escape_string(htmlentities($_POST["voiture"]));

Tout simplement.
mercredi 29 septembre 2010 à 16:07:05 | Re : Bloquer des caractères ou chaine

booba27100

J'ai trouvé la solution, merci quand même


Code PHP :
<?
include ("config.php");
if ($_POST["voiture"]) {
	$var=$_POST["voiture"];

	$new = htmlspecialchars($_POST["voiture"]);

	mysql_query("INSERT INTO vehicules VALUES(NULL, '$new', '1')");
	$x=mysql_query("SELECT * FROM vehicules ORDER BY id DESC LIMIT 1");
	while ($y=mysql_fetch_assoc($x)){
$id=$y['id'];
?>


Cela encode les caractères spécials pour éviter les éventuelles injections =)
mercredi 29 septembre 2010 à 16:23:48 | Re : Bloquer des caractères ou chaine

TychoBrahe

Tu devrais lire ce que j'ai mis et ajouter un mysql_real_escape_string. Là sans le mysql_real_escape_string tu es sensibles aux injections de SQL, c'est extrêmement dangereux.
vendredi 1 octobre 2010 à 20:00:23 | Re : Bloquer des caractères ou chaine

booba27100

Ouais merci, je viens de changer mon code =)


Cette discussion est classée dans : bloquer, chaine, saisie, zone, google


Répondre à ce message

Sujets en rapport avec ce message

Editer un fichier texte dans une zone de saisie [ par la_glisse ] Bonjour,je suis débutant et je cherche comment éditer un fichier texte dans une zone de saisie comme celle ou nous écrinons tous pour laisser nos mess Pour admin - zone de saisie de message [ par goondy ] Bonjour, je cherche un moyen d'avoir une zone de saisie avec possibilité de mise en forme du texte "en live", et c'est bien ici que j'ai vu le plus be saisie semi automatique [ par el_bassir ] Bonjour;j'aimerai faiire un script dans ma page web permettant de faire la meme chose que la saisie semi automatique. en fait  j'ai une zone de text, Liste déroulante avec saisie [ par raven44 ] Bonjour à tous amis développeurs et développeuses, Je post ce message parce que cela fait 2h que je recherche sur le net sans trouvé véritablement la bloquer zone de texte apres validation formulaire [ par doudoutinette ] Hellow tout le monde!Voila je travaille sous dreamweaver et j'ai créeé un formulaire. J'aimerai qu'une foi qu'on a validé le formulaire (btn submit) u système de saisie à la chaine [ par jagogordonne ] Salut à tous, Une question précise, Comment faire pour avoir un système de saisie à la chaine ? On entre ses données ID, Nom, Prénom dans un tableau syntaxe AS2 sur des champs de saisie [ par newlc ] Bonjour et bonne année à tous,je bosse sur un clavier en flash et je sais remplir un champs de saisie mais seulement j'ai trois champs de saisiecommen bloquer saisie champ text [ par fmf ] Je voudrais savoir comment faire pour bloquer la saisie d un champ texteC est a dire qu a partir d un calendrier en javascript je choisi une date qui Zone de saisie de date, formatage ? [ par Joez ] Bonjour, je veux avoir une zone de texte avec un masque de saisie pour la date, c'est possible ?du type ../../.... par defaut pourle champ vide  10/06 Problème formulaire Google Chrome [ par Hellooow ] Bonjour à tous, J'ai rencontré quelques problèmes à cause de la saisie automatique des formulaires sur Google Chrome. En effet cette option de saisi


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,351 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales