我在橋接R和psql,希望移除sql注入漏洞。看着文件,我曾希望:Rpostgresql:正確地轉義輸入字符串
postgresqlExecStatement(con, statement, params, ...)
將允許使用的是這樣的:
postgresqlExecStatement(con, "DELETE FROM foos WHERE id = ? AND baz = ?", c(1, "bar"))
但不幸的是這似乎並沒有工作。也許我對參數使用了錯誤的 符號(除?之外的其他符號)。
我發現最好的折衷辦法是通過逃避字符串:
postgresqlEscapeStrings(con, string)
(注:連接是必要的,這樣函數可以知道如何正確逃生)。
意味着我必須逃脫每一個我使用粘貼時使用的字符串,當我把我的查詢放在一起 。不那麼優雅。但似乎是最好的選擇。任何人有其他 想法?
您可能想要嘗試https://github.com/rstats-db/RPostgres-它完全支持參數化查詢並實現dbi通用的'dbQuoteString()'和'dbQuoteIdentifier()' – hadley