Ich versuche, Daten aus einer HTML-Datei (statische Datei) öffentlich zu veröffentlichen, ohne ERb of Rails zu verwenden.
Terminal.
Can't verify CSRF token authenticity.
Der Punkt ist: "Ich habe die Anfrage abgespielt, weil sie sich von dem erwarteten Sicherheitstoken unterscheidet."
Abkürzung für Cross Site Request Forgery, Betrug.
Die Handlung eines Angreifers, der eine Anfrage an die Zielwebsite sendet, indem das Opfer auf einen Link klickt oder eine Seite besucht. Mit anderen Worten, der Angreifer kann sich als gültige Anforderung authentifizieren und die Kontoinformationen des Opfers manipulieren.
Daher ergreift Rails automatisch Maßnahmen, um zu verhindern, dass böswillige Dinge mit normalen Anforderungen verwechselt werden.
In Rails ist der CSRF-Gegenmaßnahmencode bereits automatisch in application_controller eingebettet.
application.controller.rb
protect_from_forgery with: :exception
Es wird ein erforderliches Sicherheitstoken eingeführt, das automatisch in allen von Rails generierten Formularen und Ajax-Anforderungen enthalten ist.
Wenn das Sicherheitstoken nicht mit dem erwarteten Wert übereinstimmt, kann ein Fehler auftreten.
application_controller.rb
protect_from_forgery with: :null_session
CSRF-Maßnahmen sind für alle Aktionen deaktiviert. Dies hat jedoch das Problem, extrem anfällig für Aggressionen zu sein.
Indem nur bestimmte Aktionen ausgeschlossen werden, die APIs von außen empfangen, ist es möglich, Daten von Clients zu empfangen und gleichzeitig die Sicherheit zu gewährleisten.
feeds_controller.rb
protect_from_forgery :except => [:create, :index]
def create
end
def index
end
Durch Angabe des Aktionsnamens des Controllers ist es nun möglich, Daten aus der HTML-Datei unter public zu empfangen.
https://qiita.com/chobi9999/items/2b59fdaf3dd8f2ed9268
https://www.transnet.ne.jp/2016/10/26/%E3%80%8Cruby-on-rails%E3%81%AEcsrf%E5%AF%BE%E7%AD%96colnd/
https://railsguides.jp/security.html#%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B5%E3%82%A4%E3%83%88%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%AA-csrf