sql >> データベース >  >> RDS >> PostgreSQL

SQLインジェクションに対して脆弱にならないようにクエリのPythonF文字列を修正するにはどうすればよいですか?

    データをプルするときにPythonループを使用して動的クエリをサニタイズする方法は次のとおりです!

    私の関数get_dict_resultsetに注意してください dBに接続し、データをプルして、Python辞書に保存するために使用されます。

    def get_dict_resultset(query, param):
        cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
        cur.execute(query, param)
        ans =cur.fetchall()
        dict_result = []
        for row in ans:
            dict_result.append(dict(row))
        return dict_result
    

    paramを追加しました 関数とcur.executeの引数として 。

    for stock in symbols:
        stock_info[stock] = get_dict_resultset("SELECT 
                                                date, close          
                                                FROM security_price 
                                                WHERE 
                                                security_price.id=%s;", [stock])
    

    これが、ユーザー入力をサニタイズしてdBを保護するためにコードを安全に編集した方法です




    1. 1つのノードのデッドロックがクラスター全体をクラッシュさせないようにするにはどうすればよいですか?

    2. 10MicrosoftAccessナビゲーションペインのキーボードショートカット

    3. SQLServer用の直接記憶域スペースの概要

    4. JSONから構築されたオブジェクト配列がGoogleマップに表示されない