Eu já pensei nisso, e pelo que eu aprendi por enquanto, para evitar SQL injection, eu preciso filtrar os dados que o usuário inseriu dentro do input, então existe uma função chamada de "validate".
Ainda não testei as vunerabilidade, pós não manjo muito, mas tenho um contato que sabe sofre segurança, e pretendo pedir para ele fazer uns testes.
A forma correta de blindar seu código contra SQL Injection é utilizando prepared statements.
Vi no código que você já utiliza o PDO para se conectar ao banco, portanto basta algumas alterações no seu código.
Por exemplo a sua função deletePostByID()
ficaria assim:
function deletePostByID($id) {
$connect = dbConnect();
$sql = "DELETE FROM postagens WHERE post_id = :id";
$statement = $connect->prepare($sql);
$statement->execute(['id'=>$id])
// como extra, eu verificaria se algum post foi deletado de fato, retornando um booleano
return $statement->rowCount() > 0;
}
Valeu Elias, adicionei o prepared statements na minha lista de estudos.