Ich verwende ActiveRecord::Base.sanitize
Methode zu vermeiden SQL-Injektion Angriffe.Rails Sanitize-Methode hinzufügen doppelte Anführungszeichen
Mein Problem ist, wo immer ich Benutzereingaben bereinigen die Ausgabe wird mit zusätzlichen doppelten Anführungszeichen vor den einfachen Anführungszeichen am Anfang der Zeichenfolge und nach den einfachen Anführungszeichen am Ende der Zeichenfolge zurückgegeben.
Beispiel:
ActiveRecord::Base.sanitize("Test")
=> "'Test'"
Ich erwartete es "Test"
oder 'Test'
zurückzukehren. warum es zurückgeht "'Test'"
??
Danke, Sanjay Salunkhe
Ich habe Ihren Code versucht und es gibt zurück, was Sie erwarten, 'ActiveRecord :: Base.sanitize (" Test ")' gibt ** 'Test' ** – Lymuel
Nein, es funktioniert nicht für mich. Meine Rails-Version ist 4.1.7 und Ruby-Version ist Ruby 2.0.0p598 –
@SanjaySalunkhe eigentlich seine veraltete, überprüfen Sie DOC: http://apidock.com/rails/ActiveRecord/Base/sanitize/class – 7urkm3n