mirror of
https://github.com/discourse/discourse.git
synced 2025-06-06 13:06:56 +08:00
Add screening by IP address. When deleting a user as a spammer, block all signups from the same IP address.
This commit is contained in:
@ -0,0 +1,8 @@
|
||||
class Admin::ScreenedIpAddressesController < Admin::AdminController
|
||||
|
||||
def index
|
||||
screened_emails = ScreenedIpAddress.limit(200).order('last_match_at desc').to_a
|
||||
render_serialized(screened_emails, ScreenedIpAddressSerializer)
|
||||
end
|
||||
|
||||
end
|
@ -127,7 +127,7 @@ class Admin::UsersController < Admin::AdminController
|
||||
user = User.where(id: params[:id]).first
|
||||
guardian.ensure_can_delete_user!(user)
|
||||
begin
|
||||
if UserDestroyer.new(current_user).destroy(user, params.slice(:delete_posts, :block_email, :block_urls, :context))
|
||||
if UserDestroyer.new(current_user).destroy(user, params.slice(:delete_posts, :block_email, :block_urls, :block_ip, :context))
|
||||
render json: {deleted: true}
|
||||
else
|
||||
render json: {deleted: false, user: AdminDetailedUserSerializer.new(user, root: false).as_json}
|
||||
|
@ -135,6 +135,7 @@ class UsersController < ApplicationController
|
||||
return fake_success_response if suspicious? params
|
||||
|
||||
user = User.new_from_params(params)
|
||||
user.ip_address = request.ip
|
||||
auth = authenticate_user(user, params)
|
||||
register_nickname(user)
|
||||
|
||||
|
Reference in New Issue
Block a user