Interdire des requêtes dans un input...[RESOLU]

Interdire des requêtes dans un input...[RESOLU] - PHP - Programmation

Marsh Posté le 09-07-2004 à 15:39:26    

Bonjour a tous,
 
J’ai un petit problème, j'aimerais pouvoir interdire des saisies de requêtes sql dans un champ input de type texte ou textearea.
 
Comment puis-je procéder ?
 
Cordialement,
Pgaz


Message édité par pgaz le 23-07-2004 à 12:56:11

---------------
... une maladie mortelle sexuellement transmissible
Reply

Marsh Posté le 09-07-2004 à 15:39:26   

Reply

Marsh Posté le 09-07-2004 à 15:56:05    

remplacer toutes les occurences de Select, update, insert, grant ... par autre chose avec les expressions régulières


Message édité par T509 le 09-07-2004 à 15:56:16

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 09-07-2004 à 15:59:05    

+1,
j'ai fait ça sur mon site pour remplacer les "<?" et "?>" par des caractères neutre de manière à interdire la saisie de code PHP dans les news.
avec str_replace c'est "finger in the nose"


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 09-07-2004 à 16:08:23    

ben c'est actuellement ce que j'ai fait, je pensais qu'il y avait quelquechose de ce type déjà implémenté, et ainsi juste taper la commande ...
Il faut donc rechercher tous les mots important... y a pas d'autre solution?
...


---------------
... une maladie mortelle sexuellement transmissible
Reply

Marsh Posté le 09-07-2004 à 16:55:29    

Si c'est pour empecher les injections SQL il suffit de faire un addslashes() de ce que tu récupère.

Reply

Marsh Posté le 13-07-2004 à 11:42:40    

oui, je pense que c'est ca que je cherche...*
 
merci!!!


---------------
... une maladie mortelle sexuellement transmissible
Reply

Marsh Posté le 13-07-2004 à 11:55:12    

Xav_ a écrit :

+1,
j'ai fait ça sur mon site pour remplacer les "<?" et "?>" par des caractères neutre de manière à interdire la saisie de code PHP dans les news.
avec str_replace c'est "finger in the nose"


le truc qui sert à rien  [:prodigy]  

Reply

Marsh Posté le 13-07-2004 à 15:57:03    

Tout les FAI ne bloque pas ça, tu trouve sur des bouquin style "Hack-Adémy" des script tout fait pour mettre dans un truc de news sur un site...  
Si le FAI ne bloque pas les balises PHP, le script récupère les propriété de connexion à ta BDD et te scratch tes tables...
J'ai fait des test et ça ne marchait heureusement pas sur mon site, mais je préfère 2 petite ligne avec des str_replace que de prendre le risque de me faire niquer ma base...
 
Après ça ne regarde que moi si je fais de la sécurité outre mesure, c'est peut etre une déformation professionnelle... ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 13-07-2004 à 16:00:11    

d'un autre côté, si tu fais pas un eval de ce que tu récupère, les <? ?> ne doivent pas être super dangereuse :/

Reply

Marsh Posté le 14-07-2004 à 22:51:14    

dropsy a écrit :

d'un autre côté, si tu fais pas un eval de ce que tu récupère, les <? ?> ne doivent pas être super dangereuse :/


ben ouais c'est pour ca que je dit ca...

Reply

Marsh Posté le 14-07-2004 à 22:51:14   

Reply

Marsh Posté le 14-07-2004 à 22:55:57    

Xav_ a écrit :

Tout les FAI ne bloque pas ça, tu trouve sur des bouquin style "Hack-Adémy" des script tout fait pour mettre dans un truc de news sur un site...  
Si le FAI ne bloque pas les balises PHP, le script récupère les propriété de connexion à ta BDD et te scratch tes tables...
J'ai fait des test et ça ne marchait heureusement pas sur mon site, mais je préfère 2 petite ligne avec des str_replace que de prendre le risque de me faire niquer ma base...
 
Après ça ne regarde que moi si je fais de la sécurité outre mesure, c'est peut etre une déformation professionnelle... ;)


Dans la base faut laisser les caractères potentiellement dangereux comme < >  
Par contre à l'affichage (pour éviter les XSS) faut faire un htmlspecialchars sur ce que tu récupères de la base et que tu veux afficher.

Reply

Marsh Posté le 16-07-2004 à 16:44:42    

dropsy a écrit :

d'un autre côté, si tu fais pas un eval de ce que tu récupère, les <? ?> ne doivent pas être super dangereuse :/


 
ben si c'est une identification login mot de passe, je pense que ca peut l'être non ?
 


---------------
... une maladie mortelle sexuellement transmissible
Reply

Marsh Posté le 16-07-2004 à 16:51:35    

ben je laisse les caractères "<" et ">" vu que je ne filtre que les chaines "<?" et "?>" pour les remplacer par un truc du genre "|°-_-°|" ce qui me permet de savoir que qqun a essayé... ;)
 
Par contre je ne bride aucun autre caractère donc le "<b>" ou "<img src....>" ou encore "<a href...." ce qui laisse toute les libertés nécessaires pour les gens qui saisissent les news.
 
Le remplacement, je le fait, à l'enregistrement, pas à l'affichage, c'est bien "|°-_-°|" qui est écrit dans la base... c'est peut etre pas le mieux mais tant pis...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 16-07-2004 à 16:53:46    

C'est pas moi qui est lu l'article, un pote qui fait le site avec moi, dans l'idée, il faisit un include d'un fichier PHP présent je sais pas trop ou qui faisait (ou essayait de faire) pas mal de chose avec la base qu'il trouvait..
 
Je ne tiens pas à courir le risque. :(


Message édité par Xav_ le 16-07-2004 à 16:53:56

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 19-07-2004 à 11:31:25    

bon et pour que les commandes ne soient pas prise en compte, il faut que magic_quotes soit a on ou a off ?
 
moi actuellement, j'utilise des addslash et htmlentities avec magic_quotes_gpc = Off et magic_quotes_runtime = Off
est-ce que ca sert a quelque chose ?


---------------
... une maladie mortelle sexuellement transmissible
Reply

Marsh Posté le 23-07-2004 à 12:55:08    

j'ai résolu le pb , au lieu de mettre un echo(), je fais un print htmlentities (,ENT_NOQUOTES)
 
et ca marche bien


---------------
... une maladie mortelle sexuellement transmissible
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed