mirror of
https://github.com/neocities/neocities.git
synced 2025-04-24 17:22:35 +02:00
attempt to plug CSRF attack
This commit is contained in:
parent
dcb224bf31
commit
538c22f61a
1 changed files with 10 additions and 2 deletions
12
app.rb
12
app.rb
|
@ -200,7 +200,7 @@ get '/site_files/text_editor/:filename' do |filename|
|
|||
end
|
||||
|
||||
post '/site_files/save/:filename' do |filename|
|
||||
halt 'You are not logged in!' if current_site.nil?
|
||||
require_login_ajax
|
||||
|
||||
tmpfile = Tempfile.new 'neocities_saving_file'
|
||||
|
||||
|
@ -243,8 +243,16 @@ def dashboard_if_signed_in
|
|||
redirect '/dashboard' if signed_in?
|
||||
end
|
||||
|
||||
def require_login_ajax
|
||||
halt 'You are not logged in!' unless signed_in? && csrf_safe
|
||||
end
|
||||
|
||||
def csrf_safe
|
||||
(request.referer =~ /.+\.neocities\.org/i).nil?
|
||||
end
|
||||
|
||||
def require_login
|
||||
redirect '/' unless signed_in?
|
||||
redirect '/' unless signed_in? && csrf_safe
|
||||
end
|
||||
|
||||
def signed_in?
|
||||
|
|
Loading…
Add table
Reference in a new issue