Im Moment mein Code sieht wie folgt sanieren:Wie Benutzereingabe für den Edelstein wirkt-as-markierbare-on, Ruby on Rails
@events = Event.tagged_with(params[:search_input])
Aber eine solche Abfrage ermöglicht SQL-Injections und sollte vermieden werden.
Rubyonrails.org sagt uns, wie solche Angriffe zu vermeiden (http://guides.rubyonrails.org/security.html#sql-injection)
Zum Beispiel mit questionmarks:
Model.where("login = ? AND password = ?", entered_user_name, entered_password).first
aber ich weiß nicht, wie die Benutzereingabe sanieren für dieses Juwel. Ich habe versucht, die folgenden:
@events = Event.tagged_with("?", "%#{params[:search_input]}%")
aber dies führt zu dem folgenden Fehler:
TypeError (no implicit conversion of Symbol into String):
Irgendwelche Ideen, wie diese Eingabe zu sanieren? Danke im Voraus!
Ich habe das folgende Problem im Repo des Edelsteins gefunden: https://github.com/mbleigh/acts-as-taggable-on/issues/670 Stimmst du nicht zu oder geht es um etwas anderes? – Mauddev
Das Problem scheint anders zu sein als diese Frage. Diese Frage fragt nach der Bereinigung für die Verwendung mit SQL (ActiveRecord). Das Problem, das Sie verknüpft haben, fragt, wie Sie sicherstellen können, dass die Parsing-Tags ordnungsgemäß ausgeführt werden, und es wird empfohlen, den Standardparser zu verwenden. Das sind wirklich unterschiedliche Anliegen. –