Моя борьба со спамом

Заметил я как-то, что на мой уютный бложек боты повадились ходить и регистрироваться.

Боты эти не только регистрируются но и пытаются проверить свою почту. Куда уходят письма не знаю. Приходял ли они куда-то не известно. Тем не менее мне это не нравится. Да и адрес отправителя скорее всего уже в базе спамеров.

Начал я гуглить и нашел вот такой сервис. А интересен он тем, что у них есть API для проверки email и IP на предмет плохой активности в сети. Внедрение этого сервиса мою проблему решило.

Вот так вот все просто:

private async Task<bool> CheckEmailToSpamAsync(string email, string ip)
{
	try
	{
		var query = $"http://api.stopforumspam.org/api?email={UrlEncoder.Default.Encode(email.Trim())}&ip={ip}&json";
		using (var client = new HttpClient())
		{
			var json = await client.GetStringAsync(query);
			var response = JsonConvert.DeserializeObject<JObject>(json);
			if (response["email"]["appears"].Value<int>() > 0 &&
				response["email"]["confidence"].Value<double>() > 70.0)
			{
				return false;
			}
			if (response["ip"]["appears"].Value<int>() > 0 &&
				response["ip"]["confidence"].Value<double>() > 70.0)
			{
				return false;
			}
			return true;
		}
	}
	catch
	{
		return true;
	}
}

Оставить комментарий могут только зарегистрированные пользователи.

Войдите на сайт или зарегистрируйтесь, чтобы оставить комментарий.