Size: a a a

2020 March 02

F

FOX in PHP
Артём
Охуенно задан вопрос, в стиле всяких Левада-центров
Сделай лучше :)
источник

А

Артём in PHP
FOX
Сделай лучше :)
Сделал
источник

VS

Vlad Sobenko in PHP
Альберт Степанцев
Итак. Требования:

1. База данных находится в защищенном контуре.
2. Приложение на PHP развертывается вне защищенного контура, на неподконтрольном сервере. Код открыт и может быть модифицирован сторонним недоверенным разработчиком.
3. Требуется аудит любого CR?UD действия с данными, которое производит приложение из пункта 2: кто, когда и что делал
4. Аудит не не системном уровне (запросы), а на уровне бизнес-процессов.

Расскажите, пожалуйста, как тут обойтись без «логики в базе»?
сочувствую.. Уже бы и бд засунули в незащищенный контур, чтобы более экстремально было.
источник

АС

Альберт Степанцев in PHP
сочувствуете? чему?
источник

АС

Альберт Степанцев in PHP
тому, что бывают такие задачи?
источник

АС

Альберт Степанцев in PHP
да, это не сайтики с админками
источник

DT

Dmitriy Tkachenko in PHP
Программисты: рвут жопу, натягивают сову на глобус, но пытаются делать возможность создания изоморфных приложений.
Пхпшики: не вижу ничего плохого в хранении бизнес логики в бд
источник

ЕР

Евгений Ромашкан in PHP
Альберт Степанцев
Итак. Требования:

1. База данных находится в защищенном контуре.
2. Приложение на PHP развертывается вне защищенного контура, на неподконтрольном сервере. Код открыт и может быть модифицирован сторонним недоверенным разработчиком.
3. Требуется аудит любого CR?UD действия с данными, которое производит приложение из пункта 2: кто, когда и что делал
4. Аудит не не системном уровне (запросы), а на уровне бизнес-процессов.

Расскажите, пожалуйста, как тут обойтись без «логики в базе»?
Можно сразу поставить требование "логику писать в БД", чё уж)
источник

ЕР

Евгений Ромашкан in PHP
И пусть выкручивается
источник

ЕР

Евгений Ромашкан in PHP
Тож не сайтик с админкой)
источник

АС

Альберт Степанцев in PHP
Коллеги, если кто-то из вас не видел в жизни слона, это не значит, что нужно заниматься отрицанием его существования...
источник

F

FOX in PHP
Альберт Степанцев
Итак. Требования:

1. База данных находится в защищенном контуре.
2. Приложение на PHP развертывается вне защищенного контура, на неподконтрольном сервере. Код открыт и может быть модифицирован сторонним недоверенным разработчиком.
3. Требуется аудит любого CR?UD действия с данными, которое производит приложение из пункта 2: кто, когда и что делал
4. Аудит не не системном уровне (запросы), а на уровне бизнес-процессов.

Расскажите, пожалуйста, как тут обойтись без «логики в базе»?
Говноархитектура детектед.

1. Збс
2. Суём приложение на PHP в защищённый контур. С ACL-ями, файрволлами, доверенными лицами, безопастниками, пентестами, сертификациями железа и талонами на талоны. Аудит каждого релиза - даже патч и минорного. Как в ФСБ и военной приёмке.
3. Логи на уровне приложения, правильная организация доступа (либы, модули, etc). А ещё злые какеры могут слить БД через mysqldump или аналог, и до бороды тот аудит в хранимых процедурах.
4. См. п.3, только в advanced-варианте, долго писать.
источник

АС

Альберт Степанцев in PHP
И тем более не стоит вести непримиримую борьбу против слонов, аргументируя это тем, что и коров на всех хватит.
источник

VS

Vlad Sobenko in PHP
Альберт Степанцев
Коллеги, если кто-то из вас не видел в жизни слона, это не значит, что нужно заниматься отрицанием его существования...
Все мы знаем, что слоны существуют, но видим их раз в жизни.
источник

АС

Альберт Степанцев in PHP
2. Это невозможно, приложение тиражное и разворачивается на серверах конечного клиента.
3. Логи вам не помогут при наличии физического доступа к файлам приложения недоверенного лица. См. п. 2. Разработчик просто перенаправляет все логи в /dev/null и всё.
4. Нет задачи «не давать данные», есть задача - аудит доступа к данным.
источник

F

FOX in PHP
Альберт Степанцев
2. Это невозможно, приложение тиражное и разворачивается на серверах конечного клиента.
3. Логи вам не помогут при наличии физического доступа к файлам приложения недоверенного лица. См. п. 2. Разработчик просто перенаправляет все логи в /dev/null и всё.
4. Нет задачи «не давать данные», есть задача - аудит доступа к данным.
2. Не зная деталей, я не могу делать дальнейшие выводы. В первом варианте "ТЗ" всё было возможным. В этом я тоже вижу пути решения, хоть и более сложные, в первую очередь, организационно.
3. Такой доступ, очевидно, должен быть исключён. Про аудит, к тому же, я не просто так писал. Погуглите, как это делается в указанных мною силовых структурах, очень удивитесь уровню погружения аудиторов.
источник

VS

Vlad Sobenko in PHP
Альберт Степанцев
2. Это невозможно, приложение тиражное и разворачивается на серверах конечного клиента.
3. Логи вам не помогут при наличии физического доступа к файлам приложения недоверенного лица. См. п. 2. Разработчик просто перенаправляет все логи в /dev/null и всё.
4. Нет задачи «не давать данные», есть задача - аудит доступа к данным.
Представляю себя. Прихожу на собес к Альберту и он мне излагает бизнес требования, излагает, что всё на процедурах пишут. Я бы развернулся и ушел. Как вы людей набираете?
источник

АС

Альберт Степанцев in PHP
Нормально набираю
источник

АС

Альберт Степанцев in PHP
А что?
источник

АС

Альберт Степанцев in PHP
Всегда есть те, кому интереснее погрузиться чуть глубже, чем банальный HTTP API CRUD
источник