Size: a a a

2020 March 02

АС

Альберт Степанцев in PHP
В этом нет ничего сложного
источник

AB

Alex Belikov in PHP
FOX
Говноархитектура детектед.

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

VS

Vlad Sobenko in PHP
Альберт Степанцев
Я вам задам ровно тот же вопрос, что задавал выше уже неоднократно: что вы имеете в виду конкретно под словом «процедурки»?
Да я за них. Ну тесты - это плюс. Если бы без них - то очень печально.
источник

АС

Альберт Степанцев in PHP
Alex Belikov
А что мешает перед базой, внутри контура сделать для внешнего PHP приложения апишку?
некое прокси, чтобы не было прямого доступа
Помех нет. Но и задачи нет.
источник

KN

Kirill Nesmeyanov in PHP
надо было юзать CQRS (c)
источник

AB

Alex Belikov in PHP
Альберт Степанцев
Помех нет. Но и задачи нет.
Если нет помех, то в рамках этой апишки и аудит без хранимок легко реализуем, ведь так?)
источник

АС

Альберт Степанцев in PHP
На первый взгляд вы как бы правы. Но вообще - нет.
Это потребует написания прокси-приложения, которое будет посредником между БД и API

Я не отрицаю, что так сделать можно. Но по факту такого требования нет. И на то есть причины, поверьте.
источник

KN

Kirill Nesmeyanov in PHP
а как прокси-приложение будет вычленять логику?
источник

KN

Kirill Nesmeyanov in PHP
это же в требованиях к задаче есть (п.4)
источник

АС

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

KN

Kirill Nesmeyanov in PHP
а, ну повторить логику всего приложения, ну-ну)
источник

АС

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

АС

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

AB

Alex Belikov in PHP
Альберт Степанцев
На первый взгляд вы как бы правы. Но вообще - нет.
Это потребует написания прокси-приложения, которое будет посредником между БД и API

Я не отрицаю, что так сделать можно. Но по факту такого требования нет. И на то есть причины, поверьте.
ну, вообще, было бы крайне логично запретить прямой доступ в БД, которое в защищенном контуре, для внешних приложений через некую апишку-проксик..
мне как-то было бы сцыкатно, если бы :
Приложение на PHP развертывается вне защищенного контура, на неподконтрольном сервере. Код открыт и может быть модифицирован сторонним недоверенным разработчиком
могло лезть в базу...
источник

АС

Альберт Степанцев in PHP
Alex Belikov
ну, вообще, было бы крайне логично запретить прямой доступ в БД, которое в защищенном контуре, для внешних приложений через некую апишку-проксик..
мне как-то было бы сцыкатно, если бы :
Приложение на PHP развертывается вне защищенного контура, на неподконтрольном сервере. Код открыт и может быть модифицирован сторонним недоверенным разработчиком
могло лезть в базу...
именно
источник

АС

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

АС

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

AB

Alex Belikov in PHP
Альберт Степанцев
запретом прямого доступа к данным
а, я кажется, понял вас
но, все-так, если бы изначально пошли бы по пути апишки а не хранимок - было бы потом проще))
источник

АС

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

АС

Альберт Степанцев in PHP
поддерживать еще одно прокси-приложение дорого
источник