2009-01-16 71 views
1

在一個項目中我的工作,我需要通過C將數據插入到一個sqlite3的數據庫++。爲了避免「小鮑比表」事件,我需要清理我的數據庫輸入。我想找到一個在C++中執行此操作的庫,而不是滾動我自己的庫,因爲這通常會導致問題。由於應用程序將從MP3中插入ID3數據到數據庫中,因此很多藝術家,專輯和歌曲標題都包含無效字符,因此這一點非常重要。C++ SQL消毒庫或查詢生成器發售消毒

我發現了一個SO後早期(似乎現在沒有找到它...),詳細不同的查詢生成器庫C++,但沒有這些庫來直出,並說,他們提供的消毒功能。我討厭開始實施一個發現它沒有這個功能。那裏必須有一個圖書館,但是我的搜索讓我失望了。

我的問題是,什麼庫可將消毒數據庫輸入C++?我不介意翻身,但我想不惜一切代價避免它。感謝大家!

回答

2

簡短的回答:不淨化你的輸入。改用參數化查詢。他們更安全,更快速。

+2

阿門。試圖掃描「頑皮」的投入是一場失敗的戰鬥;有人會想出一個繞過你的過濾器的迂迴方式,同時你會打亂所有姓O'Reilly的人。 – 2009-01-16 16:11:45

0

我不知道,但我SOC也許能幫助您儘可能類型轉換安全方面。我個人使用過這個,我可以說這絕對值得研究,即使你的目標只是使用一個理智的庫來包裝數據庫訪問不同的後端。