AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"

Как лучше проверять бан ip на сайте?

Что будет меньше нагружать сервер? Думал, о том что бы хранить в бд, но если наберется добрая тысяча этих банов, как их проверять? Ведь тогда на каждый запрос сервер будет обрабатывать тысячу записей, а если посетителей еще 10 тысяч? А все они открывают по 5 страниц в минуту?
Так вот, как лучше работать с такими банами?
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Ведь тогда на каждый запрос сервер будет обрабатывать тысячу записей, а если посетителей еще 10 тысяч?

Запрос exists выполняется ультра быстро, при гораздо более внушительных цифрах. Тем более если кинуть unique index на данный столбец.
Но если надо еще быстрее есть redis например, он в ОЗУ висит. При 10 тысячах ip адресов, скушает совсем не много ОЗУ, но даст еще более внушительную скорость.
Ну и наверное не стоит проверять ip каждый раз. Есть же сессии и куки. Проверяем только когда пользователь не опознан.

Но на самом деле у Вас есть наверняка более тяжелые запросы, которые при открытии страницы съедают столько, что скромной проверкой ip на существование, да еще и при малом кол-ве записей (а 10k это мало) можно просто пренебречь. Так что думаю, Вы не то место пытаетесь оптимизировать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы