Don't allow banned ip addresses to make changes
Previously banned ip addresses couldn't make new accounts, but if they get an account somehow the ip ban wouldn't prevent them from making edits.
This commit is contained in:
@@ -118,7 +118,7 @@ protected
|
||||
|
||||
%w(member banned builder gold platinum janitor moderator admin).each do |level|
|
||||
define_method("#{level}_only") do
|
||||
if !CurrentUser.user.is_banned? && CurrentUser.user.__send__("is_#{level}?")
|
||||
if !CurrentUser.user.is_banned_or_ip_banned? && CurrentUser.user.__send__("is_#{level}?")
|
||||
true
|
||||
else
|
||||
access_denied()
|
||||
|
||||
@@ -40,6 +40,10 @@ class AnonymousUser
|
||||
false
|
||||
end
|
||||
|
||||
def is_banned_or_ip_banned?
|
||||
false
|
||||
end
|
||||
|
||||
def has_mail?
|
||||
false
|
||||
end
|
||||
|
||||
@@ -75,6 +75,10 @@ class User < ActiveRecord::Base
|
||||
accepts_nested_attributes_for :dmail_filter
|
||||
|
||||
module BanMethods
|
||||
def is_banned_or_ip_banned?
|
||||
return is_banned? || IpBan.is_banned?(CurrentUser.ip_addr)
|
||||
end
|
||||
|
||||
def validate_ip_addr_is_not_banned
|
||||
if IpBan.is_banned?(CurrentUser.ip_addr)
|
||||
self.errors[:base] << "IP address is banned"
|
||||
|
||||
Reference in New Issue
Block a user