Changeset 2821

Show
Ignore:
Timestamp:
11/25/07 14:08:37 (1 year ago)
Author:
tanktarta
Message:

Guard against possible SQL injection. Thanks to dexen.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • nikonikoplugin/0.10/nikoniko/web_ui.py

    r2674 r2821  
    103103        # Get current mood 
    104104        getMoodSQL = "SELECT nikoniko_mood,nikoniko_comment FROM nikoniko WHERE "\ 
    105                      "nikoniko_username = '" + username + "' AND "\ 
    106                      "nikoniko_date = '" + date_time + "'
    107         cursor.execute(getMoodSQL
     105                     "nikoniko_username = %s AND "\ 
     106                     "nikoniko_date = %s
     107        cursor.execute(getMoodSQL, (username,date_time)
    108108        row = cursor.fetchone() 
    109109        if row and row[0] > 0: 
     
    190190        getMoodsSQL = "SELECT nikoniko_username,nikoniko_date,nikoniko_mood,nikoniko_comment "\ 
    191191            "FROM nikoniko WHERE "\ 
    192             "nikoniko_date >= '" + start_of_week.strftime("%Y-%m-%d") + "' "\ 
     192            "nikoniko_date >= %s "\ 
    193193            "AND "\ 
    194             "nikoniko_date <= '" + end_of_week.strftime("%Y-%m-%d") + "'
    195         cursor.execute(getMoodsSQL)         
     194            "nikoniko_date <= %s
     195        cursor.execute(getMoodsSQL, ( str(start_of_week.date()), str( end_of_week.date() ) ) ) 
    196196        niko_data = cursor.fetchall() 
    197197        for row in niko_data: 
     
    227227        cursor = db.cursor() 
    228228 
     229        cursor = db.cursor() 
    229230        if new_mood: 
    230231            changeMoodSQL = "INSERT INTO nikoniko ("\ 
    231232                         "nikoniko_username,nikoniko_date,nikoniko_mood,nikoniko_comment) "\ 
    232                          "VALUES ('" + username + "',"\ 
    233                          "'" + date_time.strftime("%Y-%m-%d") + "',"\ 
    234                          "'" + todays_mood + "','" + comment + "')" 
     233                         "VALUES ( %s,"\ 
     234                         " %s,"\ 
     235                         " %s, %s )" 
     236            cursor.execute(changeMoodSQL, (username, str(date_time.date()), todays_mood, comment ) ) 
    235237        else:  
    236238            changeMoodSQL = "UPDATE nikoniko SET nikoniko_mood = "\ 
    237                             "'" + todays_mood + "', nikoniko_comment = "\ 
    238                             "'" + comment + "' WHERE "\ 
    239                             "nikoniko_username = '" + username + "' AND "\ 
     239                            " %s, nikoniko_comment = "\ 
     240                            " %s WHERE "\ 
     241                            "nikoniko_username = %s AND "\ 
    240242                            "nikoniko_date = "\ 
    241                             "'" + date_time.strftime("%Y-%m-%d") + "'" 
    242         cursor = db.cursor() 
    243         cursor.execute(changeMoodSQL) 
     243                            " %s " 
     244            cursor.execute(changeMoodSQL, ( todays_mood, comment, username, str(date_time.date()) ) ) 
    244245        db.commit() 
    245246