📌
スパム対策のため、国外からの書き込みは禁止する
スパム対策のため、国外からの書き込みは禁止する
ipアドレスからホスト名を取得し、ホスト名がjpか判定する。
Ruby 2.6.0preview2
Rails 5.2.1
require "resolv"
def restrict_remote_ip
ip_address = request.remote_ip
# => "123.123.123.123"
host = Resolv.getname(ip_address)
# => "example.co.jp"
if host.exclude?(".jp")
flash[:danger] = "スパム対策のため、書き込みは禁止しております。"
redirect_to root_path
end
rescue
flash[:danger] = "スパム対策のため、書き込みは禁止しております。"
redirect_to root_path
end
Discussion