I ran a website for youngsters several years ago. One of the duties to maintain it was to moderate discussion boards. Some kids were difficult to manage and would not accept to be banned (via email/IP/or whatever solution) and would keep recreating profiles.
Ultimately I dealt with those ppl by “greylisting” them. Added a sleep() prior each page rendering of 5 to 25 secs (actually it was more sophisticated and would stream chunks over TCP so the slowness feeling was even more real).
Worked like a charm. Few days after the recalcitrant would no longer come on the website.
I called this “moderation by degradation of user experience”, and was pretty effective like the solution described in your post.
Think about page load if you need to restrain visits.
jedberg 7 minutes ago [-]
We did the same thing at reddit. If someone was abusing the site we would redirect them at the load balancer to a single server with an extra sleep in it.
youerbt 2 minutes ago [-]
Then you did the same for your mobile users, degrading their experience until they use an app or leave.