Maison  >  Questions et réponses  >  le corps du texte

Comment faire fonctionner MySQL en Python pour empêcher votre propre programme d'être injecté de manière malveillante plus tard (pour parler franchement, je pose des questions sur certains points clés de l'anti-injection en Python)

Est-il nécessaire de se référer à des documents anti-injection antérieurs dans des langages​​comme php ou java ? C'est vraiment difficile de trouver de la documentation anti-injection liée à python

滿天的星座滿天的星座2684 Il y a quelques jours751

répondre à tous(2)je répondrai

  • 黄舟

    黄舟2017-06-14 10:52:54

    1.Passez

    cursor.execute("select * from table where name=%s", "name")
    

    Anti-injection.

    2.Si réussi

    sql = "select * from table where name=%s" % MySQLdb.escape_string(name)
    

    Ce format nécessite MySQLdb.escape_string(name) pour empêcher l'injection.

    Il est recommandé d'utiliser le premier.

    répondre
    0
  • 欧阳克

    欧阳克2017-06-14 10:52:54

    sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
    cursor.execute(sql, ('webmaster@python.org', 'very-secret'))
    

    Une chose que je sais, c'est de ne pas utiliser sql.format("x1", "x2"), mais de transmettre les paramètres à curseur.execute pour le traitement

    répondre
    0
  • Annulerrépondre