Je dois créer une recherche simple mais je ne peux pas me permettre d'utiliser Sphinx.Assainir SQL dans des conditions personnalisées
Voici ce que je l'ai écrit:
keywords = input.split(/\s+/)
queries = []
keywords.each do |keyword|
queries << sanitize_sql_for_conditions(
"(classifications.species LIKE '%#{keyword}%' OR
classifications.family LIKE '%#{keyword}%' OR
classifications.trivial_names LIKE '%#{keyword}%' OR
place LIKE '%#{keyword}%')")
end
options[:conditions] = queries.join(' AND ')
Maintenant, sanitize_sql_for_conditions ne fonctionne pas! Il retourne simplement retourne la chaîne d'origine.
Comment puis-je réécrire ce code pour échapper un code malveillant?
Que voulez-vous dire que vous ne pouvez pas vous permettre d'utiliser Sphinx? C'est gratuit! –