/ / Les déclarations préparées dans les AOP augmentent-elles vraiment la sécurité? - php, sécurité, pdo

Les instructions préparées dans les AOP augmentent-elles vraiment la sécurité? - php, sécurité, pdo

Je me demande si ces déclarations préparées de l'AOPvraiment augmenter la sécurité, ou si elles sont juste un texte "bon marché"-remplacer dans la requête. Le point essentiel des instructions préparées est que tout ce qui est inséré en tant que paramètre ne sera pas analysé par le SGBD dans le cadre des instructions elles-mêmes. Un paramètre comme

""; DROP TABLE foobar;"

n'a aucun effet et ne casse pas la requête. Est-ce que quelqu'un le sait en détail? Je pensais utiliser AOP avec des instructions préparées pour prévenir l’injection SQL. Il s’avère qu’ils sont difficiles à utiliser (et ne fonctionnent même pas, du moins sur ma machine locale), je veux donc le découvrir avant de perdre encore plus de temps avec AOP ;-)

Réponses:

11 pour la réponse № 1

La création d'une instruction préparée envoie les requêtes avec caractères génériques au serveur pour l'analyse et renvoie un jeton pour appeler cette instruction.

Un appel consiste simplement à envoyer les données liées àchaque paramètre. Cela signifie qu'il n'y aura pas d'analyse des données (car elles ne font pas partie d'une chaîne de requête), et que la structure de la requête est fixée lorsque l'instruction préparée est analysée et ne peut pas être modifiée par injection.

Donc, oui, une déclaration préparée augmente définitivement la sécurité.

Cela signifie également que vous ne devez pas engager de temps d'analyse si vous réutilisez une instruction préparée pour plusieurs demandes.


3 pour la réponse № 2

Oui, ils augmentent la sécurité. PDO ou MySQLi augmente également la vitesse par rapport aux méthodes MYSQL habituelles en PHP, car les données sont transmises sous une forme plus compacte.