<?php
if (isset($_COOKIE['yourcookie']))
{
header("Location: http://google.ru");
die();
}
else
{
setcookie('yourcookie','какоетозначение',time()+60*60*24*365,'/','mysite.ru');
}
//дальше остальной код
CREATE TABLE `xref_user_user` (
`user_id_reader` int(11) NOT NULL,
`user_id_author` int(11) NOT NULL,
PRIMARY KEY (`user_id_reader`,`user_id_author`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
вообще "плохие" пользователи есть всегда. Всегда будут юзеры делающие несколько десятков тысяч постов в сутки, всегда будут юзеры подписывающиеся на всю базу, всегда будут юзеры на которых подписана вся база.
На практике же - реальные значения таких xref таблиц являются ~O(N) по количеству пользователей
Одиночные же ситуации можно или явно запрещать (ввести лимит на количество друзей как FB например) или разруливать руками, вплоть до хардкода в коде. (не знаю как сейчас, оно одно время аватарка Дурова лежала на всех фронтедах vk, а не бралась с общего хранилища)