2016-06-14 8 views
1

Was bedeutet sanitize in Rails?Was ist in Rails "sanitize"?

Ich lese die Dokumentation für CanCanCan. Dort heißt es:

Bei der Verwendung von strong_parameters oder Rails 4+, müssen Sie Eingaben sanieren vor dem Datensatz gespeichert, in Aktionen wie: Erstellen und: update.

Dann pro Dokumentation, erfordert es das Hinzufügen der unten:

load_and_authorize_resource param_method: :my_sanitizer 

def my_sanitizer 
    params.require(:article).permit(:name) 
end 

Quelle: https://github.com/CanCanCommunity/cancancan

ich auch sanitize im Bereich der SQL-Abfragen gesehen habe.

Was bedeutet sanitize eigentlich. Bedeutet es nur etwas zuzulassen?

+1

Sanitize bedeutet alles, was es hygiene hier für Ihre Anwendung zu machen Reinigung. Damit Ihre Anwendung keine unerwünschten Daten speichert, die schwerwiegende Probleme wie Hacking oder eine kaputte App verursachen können. Überprüfen Sie das Dokument hier: http://guides.rubyonrails.org/security.html und hier: http://apidock.com/rails/ActionView/Helpers/SanitizeHelper/sanitize – Abhinay

+1

Versuchen Sie auch, subjektive Fragen zu SO zu vermeiden. Idealerweise sollten Sie ein Problem in Bezug auf Ihren Code stellen, wenn Sie Ihre Punkte auf SO angegeben haben. Sie sollten dies bereits wissen. Prost!! – Abhinay

Antwort

1

Das Modul SanitizeHelper bietet eine Reihe von Methoden zum Bereinigen von Text unerwünschter HTML-Elemente. Diese Hilfsmethoden erweitern die Aktionsansicht und machen sie in Ihren Vorlagendateien aufrufbar.

data = data.html_safe wird nur die Zeichenfolge data as 'html_safe' markieren und danach behandeln (Kennzeichnet eine Zeichenfolge als vertrauenswürdig. Sie wird in HTML eingefügt, ohne dass zusätzliche Escapes ausgeführt werden. Es liegt in Ihrer Verantwortung sicherzustellen, dass die Zeichenfolge keinen schädlichen Inhalt enthält. Diese Methode entspricht dem rohen Hilfsprogramm in Sichten. Es wird empfohlen, anstelle dieser Methode den Befehl "Bereinigen" zu verwenden. Er sollte niemals bei Benutzereingaben aufgerufen werden.

Werfen Sie einen Blick auf offiziellen api doc action view sanitize helper