• С обеспечением безопасности?

    @Levhav
    Возьмусь за разработку проектов любой сложности.
    Я на своём vds разделяю сайты ещё модулем apache2-mpm-itk (http://wiki.hasanov.ru/ubuntu/apache_multi_users).

    Он позволяет запускать виртуальные хосты от разных учетных записей в ОС.
    Для каждого сайта завожу нового пользователя в системе и группу в которую входит только этот пользователь. И наделяю его минимальными правами, убираю возможность входа по ssh и тд.
    Виртуальный хост размещаю в домашней директории этого пользователя.
    И повторяю для каждого сайта этот процесс.

    В итоге на одного пользователя в ос один виртуальный хост в его домашней папке.
    В конфиг виртуального хоста добавляю:

      <IfModule mpm_itk_module>
        AssignUserId user1 user1
      </IfModule>
    


    Таким образом если всё правильно то при запуске диспетчера задачь можно наблюдать что для каждого сайта php скрипты выполняются от имени определённого пользователя ОС что гарантирует что даже в через функцию exec или подобную он не сможет навредить.
    Ответ написан
    4 комментария
  • Oптимальный способ хранения информации о тех кто онлайн?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Скорее всего у Вас есть механизм оповещения о событиях для пользователя на странице («пришло новое сообщение», «доставлено», "… подтверждено/отклонено" и т.д.) через AJAX. Если нет — надо сделать. Прикрепите к нему (функционалу) этакий PINGER.

    Чтобы не гонять по-пусту запросы каждые 3-5 секунд — проверяйте активность пользователя на странице клиентским JS-скриптом. Например, если пользователь не «трогает» страницу в течение 30 сек (не листает, не двигает «мышкой» и отсутствует ввод с клавиатуры, про «активна» ли вкладка — нужно изучать...) вырубаете «ajax-пингер». Ну а с серверного скрипта уже получить статистику — дело техники.

    Алгоритм простой:
    1. Очередной переход на страницу -> смотрим cookies/html5-history флаг: если не было записи — шлем запрос на сервер и, если успешно (код 200) ставим cookies/html5-history флаг на стороне клиента. включаем таймер на повторные проверки события.
    2. Следим за активностью: нет в течении N-секунд — вырубаем AJAX-отправку, НО НЕ таймер!!! Если появилась активность — включаем AJAX.
    Таким образом будут регистрироваться сервером только реально работающие с сайтом люди.
    Ответ написан
    5 комментариев