SQL injection in duckdb query on pandas dataframe
Feb 09, 2024 pm 11:57 PMIn a project, I am using duckdb to perform some queries on a dataframe. For one of the queries, I need to add some user input to the query. That's why I want to know if sql injection is possible in this case. Can a user harm an application or system through input? If so, how can I prevent this from happening? It seems duckdb has no preparedstatement for dataframe queries.
I've looked in the documentation (https://duckdb.org/docs/api/python/overview.html) but can't find anything useful. The method duckdb.execute(query,parameters)
seems to only work with databases with real sql connections, not dataframes.
Here is a small code example to illustrate what I mean:
import duckdb import pandas as pd df_data = pd.DataFrame({'id': [1, 2, 3, 4], 'student': ['student_a', 'student_a', 'student_b', 'student_c']}) user_input = 3 # fetch some user_input here # How to prevent sql-injection, if its even possible in this case? result = duckdb.query("SELECT * FROM df_data WHERE id={}".format(user_input))
Edit: Fixed syntax error in code
Correct answer
Looks like it is possible:
>>> duckdb.execute("""SELECT * FROM df_data WHERE id=?""", (user_input,)).df() id student 0 3 student_b
The above is the detailed content of SQL injection in duckdb query on pandas dataframe. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The price of Bitcoin since its birth 2009-2025 The most complete summary of BTC historical prices

What to do if the time is gone in the lower right corner of Windows 11_What to do if the time is gone in the lower right corner of Windows 11

Are there any community forums or discussion groups for Java functions where I can ask questions and discuss them?

How to use other people's code in python

What should I do if the time on my win11 computer is always wrong? How to adjust the wrong time on Windows 11 computer

Common exception types and their repair measures in Java function development

Doesn't anyone take care of Douyin's random accounts? Can I appeal a second time?
