Я выпустил свой первый сайт в RoR, и на меня напали ...
Мой сайт - это простая доска объявлений, на которой можно публиковать статьи с заголовком и содержанием.
Я ограничил количество символов в названии до 150, как это, на мой взгляд
<%= form.text_field :title, :maxlength => 150, class: 'title_input' %>
и вот так в контроллере
def create
if (params[:article][:title].length > 150)
render 'new'
end
@article = Article.new(params[:id])
if @article.save
redirect_to article_path
else
render 'new'
end
end
Но, похоже, это не сработало, пользователь спамит меня заголовком в 75 000 символов, и все они смайлики
Я использую recaptcha для того, чтобы сделать спам менее важным, но 10 таких сообщений достаточно, чтобы отключить мое приложение.
Я не могу забанить его, потому что он продолжает использовать новый IP и менять его так быстро.
У вас есть идеи, как мне это заблокировать?
Спасибо
EDIT
Я решил это с помощью валидатора в моей модели, как это
validates :title, presence: true, length: { in: 1..100 }
Благодаря Sampat