Я хочу создать премиальные планы членства на моем WordPress-сайте таким образом, чтобы, например, пользователи уровня Gold могли загружать файлы без каких-либо ограничений, но обычные пользователи должны загружать файлы со скоростью не более 200 КБ / с.
Просто сохранить cookie, когда пользователь входит в WordPress (используя функцию setcookie()
в соответствии с this ), так что, похоже, лучший способ достичь моей цели - фильтровать пользователей по cookie.
Я искал и нашел mod_qos
модуль apache, он может ограничивать пропускную способность и имеет опцию Привилегированные пользователи , но я не знаю, как его использовать, чтобы исключить премиум-пользователей из ограничений. Предоставленные документы недостаточно подробны.
Существуют и другие модули, такие как mod_cband
и mod_ratelimit
и другие, но ни один из них не может фильтровать пользователей по cookie (или, по крайней мере, я не смог найти способ сделать это)
Другим обходным решением является фильтрация пользователей по IP и использование tc
и iptables
для ограничения пропускной способности (как это сделано для open vpn здесь ). Но это кажется трудным, потому что вы должны выполнять команды оболочки для каждого логина пользователя и добавлять IP пользователя в группу с высокой пропускной способностью.
Примечание. У меня есть два отдельных сервера: один - веб-хост с cpanel, на котором работает мой сайт WordPress, а другой - VPS, на котором я размещаю свои файлы.
Извините за плохой английский или дикцию, это мой первый вопрос в stackoverflow. Заранее спасибо.