3 petites questions pratiques

3 petites questions pratiques - PHP - Programmation

Marsh Posté le 10-05-2011 à 23:21:20    

Bonjour à tous!
 
-J'ai un serveur dédié avec plusieurs sites dessus.
J'utilise en général les mêmes librairies  chaque fois et dons je me demandais pourquoi je les mettrais pas toutes dans un répertoire à la racine "include", protéger par un htaccess contre l'accès direct.
Ca permettrait de mettre à jour les librairies en une fois pour tous mes sites!
Qu'en pensez vous? déconseillé?
 
-Plutôt de faire des my_real_escape_string sur toutes les variables $_POST en début de scripts par exemple
N'y a t-il pas un moyen de simplifier avec un foreach ( je ne pense pas mais bon....)

Code :
  1. foreach($_POST as ....)
  2. {
  3.  ....
  4. }


 
-Et enfin qu'en est-il de faire en début de scritp  (riez pas !)

Code :
  1. $_POST['variable'] = my_real_escape_string(htmlspecialchars($_POST['variable']))


 
 :bounce:  

Reply

Marsh Posté le 10-05-2011 à 23:21:20   

Reply

Marsh Posté le 11-05-2011 à 09:33:38    

1) Au contraire, c'est plutôt conseillé, de mutualiser les libs.:D
2) Déconseillé, ça, par contre - il ne faut utiliser mysql_real_escape_string que lorsqu'on en a réellement besoin, i.e. pour utiliser la variable dans une requête.
3) Mauvais. Toujours conserver la valeur originelle, et l'échapper de la manière adéquate uniquement là où on a besoin de le faire.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 11-05-2011 à 09:49:27    

Et de manière plus générale, utiliser DBO et prepare() qui s'occupe automatiquement de tout ce qui touche la sécurité


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 11-05-2011 à 10:19:59    

skeye a écrit :

1) Au contraire, c'est plutôt conseillé, de mutualiser les libs.:D
2) Déconseillé, ça, par contre - il ne faut utiliser mysql_real_escape_string que lorsqu'on en a réellement besoin, i.e. pour utiliser la variable dans une requête.
3) Mauvais. Toujours conserver la valeur originelle, et l'échapper de la manière adéquate uniquement là où on a besoin de le faire.


 
2) Pourquoi? quelle différence ? ressources?
3) juste une question de lisibilité?
 

esox_ch a écrit :

Et de manière plus générale, utiliser DBO et prepare() qui s'occupe automatiquement de tout ce qui touche la sécurité


 
Oui il va falloir que je m'y mette! ça veut dire que bientôt il n'y aura plus besoin de protéger ses données (mysql_real_escape_string depreceted?)


Message édité par networkinfo le 11-05-2011 à 10:21:15
Reply

Marsh Posté le 11-05-2011 à 10:24:27    

2) Parce que mysql_... échappe les données en vue de leur traitement par MySQL via une requête direct (mysql_query). Si tout à coup tu décides d'en faire autre chose (les stocker dans un fichier XML par exemple), ça va foirer.
3) Même raison
 
Concernant DBO, ça fait une belle lurette qu'on peut utiliser les prepared statements ... C'est juste que les 3/4 des tutos sur le net sont écrits par des incompétents qui n'ont jamais pris la peine de lire la doc ... Et du coups il continuent à utiliser mysql_query() comme en PHP3


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Sujets relatifs:

Leave a Replay

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