mirror of
https://github.com/neocities/neocities.git
synced 2025-04-25 01:32:36 +02:00
nsfw banning, and ip banning for spammers
This commit is contained in:
parent
4b82bdec2e
commit
a456232e05
2 changed files with 42 additions and 4 deletions
25
app.rb
25
app.rb
|
@ -256,7 +256,8 @@ end
|
||||||
|
|
||||||
get '/admin' do
|
get '/admin' do
|
||||||
require_admin
|
require_admin
|
||||||
@banned_sites = Site.filter(is_banned: true).order(:username).all
|
@banned_sites = Site.select(:username).filter(is_banned: true).order(:username).all
|
||||||
|
@nsfw_sites = Site.select(:username).filter(is_nsfw: true).order(:username).all
|
||||||
slim :'admin'
|
slim :'admin'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -277,9 +278,29 @@ post '/admin/banhammer' do
|
||||||
DB.transaction {
|
DB.transaction {
|
||||||
FileUtils.mv site_base_path(site.username), File.join(settings.public_folder, 'banned_sites', site.username)
|
FileUtils.mv site_base_path(site.username), File.join(settings.public_folder, 'banned_sites', site.username)
|
||||||
site.is_banned = true
|
site.is_banned = true
|
||||||
site.save(validate: false)
|
site.save validate: false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !['127.0.0.1', 'nil', ''].include? site.ip
|
||||||
|
`sudo ufw deny from #{site.ip}`
|
||||||
|
end
|
||||||
|
|
||||||
|
flash[:success] = 'MISSION ACCOMPLISHED'
|
||||||
|
redirect '/admin'
|
||||||
|
end
|
||||||
|
|
||||||
|
post '/admin/mark_nsfw' do
|
||||||
|
require_admin
|
||||||
|
site = Site[username: params[:username]]
|
||||||
|
|
||||||
|
if site.nil?
|
||||||
|
flash[:error] = 'User not found'
|
||||||
|
redirect '/admin'
|
||||||
|
end
|
||||||
|
|
||||||
|
site.is_nsfw = true
|
||||||
|
site.save validate: false
|
||||||
|
|
||||||
flash[:success] = 'MISSION ACCOMPLISHED'
|
flash[:success] = 'MISSION ACCOMPLISHED'
|
||||||
redirect '/admin'
|
redirect '/admin'
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
.row
|
.row
|
||||||
.span6
|
.span6
|
||||||
|
|
||||||
h2 Ban User for REASONS OF TERRRROROR!
|
h2 Ban User
|
||||||
|
|
||||||
form action="/admin/banhammer" method="POST"
|
form action="/admin/banhammer" method="POST"
|
||||||
input name="csrf_token" type="hidden" value="#{csrf_token}"
|
input name="csrf_token" type="hidden" value="#{csrf_token}"
|
||||||
p TerrRRRROR Suspect:
|
p Site Name:
|
||||||
input type="text" name="username" placeholder="edwardsnowden"
|
input type="text" name="username" placeholder="edwardsnowden"
|
||||||
br
|
br
|
||||||
input.btn.btn-danger type="submit" value="Ban"
|
input.btn.btn-danger type="submit" value="Ban"
|
||||||
|
@ -18,3 +18,20 @@
|
||||||
- @banned_sites.each do |banned_site|
|
- @banned_sites.each do |banned_site|
|
||||||
= banned_site.username
|
= banned_site.username
|
||||||
br
|
br
|
||||||
|
|
||||||
|
|
||||||
|
.row
|
||||||
|
.span6
|
||||||
|
h2 Mark NSFW
|
||||||
|
|
||||||
|
form action="/admin/mark_nsfw" method="POST"
|
||||||
|
input name="csrf_token" type="hidden" value="#{csrf_token}"
|
||||||
|
p Site name:
|
||||||
|
input type="text" name="username" placeholder="edwardsnowden"
|
||||||
|
br
|
||||||
|
input.btn.btn-danger type="submit" value="Mark NSFW"
|
||||||
|
.span6
|
||||||
|
h2 NSFW Sites
|
||||||
|
- @nsfw_sites.each do |nsfw_site|
|
||||||
|
= nsfw_site.username
|
||||||
|
br
|
Loading…
Add table
Reference in a new issue