Безопасность

Пользователь выполнения

Рекомендуется настраивать пользователя выполнения с более низкими правами, например, таким же, как у пользователя nginx. Пользователь выполнения задаётся в config/server.php в полях user и group.
Аналогично, пользователь для пользовательских процессов указывается через user и group в config/process.php.
Важно отметить, что для процесса monitor не следует настраивать пользователя выполнения, так как он требует высоких привилегий для корректной работы.

Спецификации контроллера

В каталоге controller или его подкаталогах могут находиться только файлы контроллеров, размещение других файлов классов запрещено. В противном случае, при неактивированном суффиксе контроллера, файлы классов могут быть недозволительно доступны через URL, что может привести к непредсказуемым последствиям.
Например, app/controller/model/User.php на самом деле является классом Model, но он ошибочно помещён в каталог controller. При отсутствии суффикса контроллера пользователь сможет получить доступ к любому методу в User.php через URL, подобный /model/user/xxx.
Чтобы полностью избежать такой ситуации, настоятельно рекомендуется использовать суффикс контроллера для явного указания, какие файлы являются контроллерами.

Фильтрация XSS

В целях универсальности webman не выполняет экранирование запросов от XSS.
webman настоятельно рекомендует выполнять экранирование XSS во время рендеринга, а не перед сохранением в базу данных.
Кроме того, такие шаблоны, как twig, blade, think-template автоматически выполняют экранирование XSS, что избавляет от необходимости вручную выполнять экранирование, что очень удобно.

Подсказка
Если вы выполните экранирование XSS перед сохранением в базу данных, это может привести к проблемам несовместимости с некоторыми плагинами приложения.

Защита от SQL-инъекций

Чтобы предотвратить SQL-инъекции, старайтесь использовать ORM, такие как illuminate/database, think-orm, и старайтесь не собирать SQL-запросы самостоятельно.

Прокси nginx

Когда ваше приложение должно быть доступно для внешних пользователей, настоятельно рекомендуется установить прокси nginx перед webman, чтобы фильтровать некоторые недозволенные HTTP-запросы и повысить уровень безопасности. Подробности см. в nginx-прокси.