[RUBY] [Schienen] Was sind starke Parameter?

Was sind starke Parameter?

Starke Parameter ist ein Mechanismus aus der Rails 4-Serie, um die Sicherheit zu verbessern. Eine Sicherheitsmaßnahme, die verhindert, dass ein Angreifer unbeabsichtigten Code ausführt, indem er nur den angegebenen Wert empfängt.

Beim Senden von Daten aus einem Formular tritt ein Sicherheitsproblem auf, das als "Sicherheitslücke bei Massenzuweisungen" bezeichnet wird. Einfach ausgedrückt handelt es sich um eine Sicherheitsanfälligkeit, bei der ein unerwarteter Wert durch eine unzulässige Anforderung beim Senden von Daten geändert wird. Rails bietet einen "Strong Parameters" -Mechanismus, um diese Sicherheitsanfälligkeit zu verhindern.

Es ist so. Stellen Sie sicher, dass Sie Strong-Parameter unter private schreiben.

app/controller/user_controller.rb


class UsersController < ApplicationController
  def create
    user = User.new(user_params)
  end

  private

  def user_params
    params.require(:user).permit(:name, :email)
  end
end

Einfach ausgedrückt, auch wenn Werte (Parameter) in Bezug auf den Benutzer gesendet werden, sind nur "Name" und "E-Mail" zulässig.

Recommended Posts

[Schienen] Was sind starke Parameter?
Schienen Starke Parameter
[Umgebungsvariablen] Schienen Was sind Umgebungsvariablen?
[Starke Parameter]
[Schienen] Fügen Sie starke Parameter hinzu, um sie zu entwickeln
[Rails] So erhalten Sie den Inhalt starker Parameter
Aktivieren Sie starke Parameter in devise
Was ist ein Befehlszeilenargument?
Was sind praktisch endgültige Variablen?
Was sind Ruby-Klassenmethoden?
config.ru Was machst du?
Übergeben Sie die Parameter an Rails link_to
Was sind Sicherheitslücken bei Massenzuweisungen?
Was sind Java-Metriken? _Memo_20200818
Was ist Rails Active Record?
[Rails] Was tun, wenn Sie mit form_with keine Parameter abrufen können?
[Rails] Was war die Fehlermeldung?
Was ich aus dem Studium von Rails gelernt habe
Über erfordern beim Einstellen starker Parameter
Was sind die Regeln in JUnit?
[Java] Was sind Überschreibungen und Überladungen?