Prevent SQL injection
Diff
src/database.rs | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
@@ -79,6 +79,11 @@
pub content_type: ContentType
}
fn sanitize_input (input: String) -> String {
input.replace("'", "''")
}
pub async fn init (settings: &BasicSettings<settings::AppSettings>) -> Pool {
let database_settings = &settings.application.database;
@@ -193,9 +198,9 @@
connection.exec_drop("INSERT INTO entries (content, shortened, content_type) VALUES (:content, :shortened, :content_type)", params! {
"content" =>
if content_type == &ContentType::Url {
url::format_url(content.to_string())
sanitize_input(url::format_url(content.to_string()))
} else {
content.to_string()
sanitize_input(content.to_string())
},
"shortened" => shortened.clone(),
"content_type" => u8::from(content_type.clone())