搜尋

首頁  >  問答  >  主體

python 操作mysql如何經量防止自己的程式在之後被惡意注入(說白了就是問一下python防注入的一些要點)

有沒有必要參考以往的php或java之類的語言的防注入文件呢? python相關的防注入文檔實在不好找

滿天的星座滿天的星座2756 天前824

全部回覆(2)我來回復

  • 黄舟

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

    1.透過

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

    可以防注入。

    2.如果透過

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

    這種格式,需要MySQLdb.escape_string(name),可以防注入.

    推薦使用第一種。

    回覆
    0
  • 欧阳克

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

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

    我知道的一點是不要使用 sql.format("x1", "x2"), 要把參數傳給cursor.execute去處理

    回覆
    0
  • 取消回覆