django应对sql注入攻击的方法:
1.使用django自带的数据库API,它会根据数据库的转换规则,自动转义特殊的SQL参数。
2.在cursor.execute()的sql语句中使用“%s”,而不要在sql内直接添加参数,例如:
from django.db import connection
def user_contacts(request):
user = request.GET['username']
sql = "SELECT * FROM user_contacts WHERE username = %s"
cursor = connection.cursor()
cursor.execute(sql, [user])
# ... do something with the results