То, что нужно, спасибо. Не увидел этого в доках.
Использовал вариант с аннотацией: @Security("console.isOwner(user)")
С условиями в аннотациях тоже подходит для некоторых фич.
Можно, проверка будет выглядеть так: $console->getUser() == $this->getUser()
Но я думал есть какие-то решения через аннотации. Ведь у контроллера будет много методов. Хотелось бы минимум дублирования кода.
Его не сложно написать самому на том же C#. Там есть консольные приложения. Создаете такое и в логике описываете:
- Сканер директории, откуда была запущена утилита (если надо, то рекурсивно;
- Сохранение в свойство найденных файлов (не обязательно);
- После завершения поиска, если файлы были найдены, запускать метод с изменением расширений файлов, где уже по необходимости либо заново запускать скан директории либо из свойства брать содержимое;
- На входе можно принимать расширения, которые нужно установить файлам и если правильное расширение не соответствует тому, что нужно искать, пропускать файл;
profesor08, какие баги добавил Oxidemod в Rust? Вот исправили баги с его помощью - да, а проблемы какие?
Я, например, конкретно написал какая проблема в оригинальном движке и к чему она привела.
А Вы о чем?
В CS вообще все абсолютно реверсивно Вашим словам. Все баги фиксятся при помощи модов, а без них дырявые движки.
Может не стоит говорить о том, о чем не знаете? У меня опыт в игровом хостинге 6 лет. И защиту мы делаем для игрового хостинга. И аппаратную и программную.
А Вы знаете о чем говорите?
profesor08, а нет списка. Есть кривые движки, дыры в которых разработчики будут исправлять годы или не будут вообще.
Rust, например. Есть метод OnNetworkMessage, в котором осуществляется проверка типа пакета. Все пакеты обрабатываются, неизвестные в break, а если пакет GroupDestroy, то выводит в консоль сообщение о неизвестном пакете GroupDestroy. И флудил сервер в лог и консоль этой записью сотни строк в секунду и грузил диск с CPU. Сервер зависал и падал. Разработчикам написали - молчат. Мы сделали фикс сами и спустя несколько месяцев выпускают фикс разработчики. Почти аналогичный нашему.
CS:S v34, CS 1.6, CS:GO, Rust, Minecraft, Arma - популярные игры. Где защита от сетевых атак пакетами, которые сервер криво читает? Защиту от этого на хостингах игровых могут предоставить. Либо самому.
Использовал вариант с аннотацией:
@Security("console.isOwner(user)")
С условиями в аннотациях тоже подходит для некоторых фич.