Verhinderung von SQL-Injection/Gute Ruby-Methode
Was ist eine gute Methode in Ruby, um SQL-Injection verhindern?
- Über die Bibliothek?
- Ach überhaupt, ich werde greifen, je nachdem, was jemand empfiehlt.
- Ich bin ein wenig überrascht, downvoting, aber es hat vielleicht geholfen, wenn Sie erwähnt, ob Sie mit einer web-framework oder mit plain old ruby-Objekte.
- Ja, aber imo ruby = ruby. So sollte es bedeuten, gerade ruby. Auch kann jeder klicken Sie auf mein Profil und sehen, ob ich andere rails Fragen, die ich so noch nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
in gerade ruby? verwenden Sie vorbereitete Anweisungen:
Nicht nur in Rubin - bind-Parameter (werden in der Datenbank oder im client-code).
Bitte zuerst die Anleitung, die Sie haben, bis auf diese: http://guides.rubyonrails.org/security.html#injection
Im Grunde wollen Sie verwenden Sie bind-Variablen in Ihre Modelle, Daten zu finden, anstatt inline-Parameter..
Laut http://ruby.railstutorial.org/ können Sie verhindern, dass Cross-Site Request Forgery durch einfügen der
- tag in den header der app/views/layouts/application.html-Code.erb.
Direkte Verbindung von Beispiel
Diesen thread verweisen:
http://www.ruby-forum.com/topic/90258#new
http://www.ruby-forum.com/topic/82349#143790
ActiveRecord die find () - Methode verfügt über eingebaute Möglichkeiten zur Vermeidung von SQL-injection durch
mit dem format
Gibt es ein solches system für Flucht-Injektion in Ordnung ist? Es scheint
nur einen string entgegennimmt und ihn an der SQL-Anweisung. Dies bewirkt, dass eine
Sicherheitsanfälligkeit bei der Verwendung params zu setzen : um in dieser Funktion:
Wir haben versucht, ein paar Methoden zu desinfizieren sort_by wie order => ['?',
sort_by] aber es passt einfach, dass der SQL-Anweisung wie eine abgeflachte
array. Die 'Flucht Magie' funktioniert nicht für Ordnung. Sollte ich benutzen
gsub! zu desinfizieren params[:sort_by]?