PHP фреймворк или библиотека для абстракции БД, безопасный вход - PullRequest
0 голосов
/ 22 сентября 2010

Я строю сайт, который требует много вставок и поисков MySQL из разных таблиц в (надеюсь) защищенной части сайта. Я хочу использовать слой абстракции для всего процесса. Должен ли я использовать для этого PHP-фреймворк (например, Zend или CakePHP) или просто использовать простую библиотеку (например, Crystal или Doctrine)?

Я также хотел бы убедиться, что вставки БД выполняются в относительно безопасной части сайта (но не в SSL). В настоящее время я использую метод, обозначенный здесь (шифрование MD5 и строка случайного вызова), но, может быть, некоторые фреймворки имеют аналогичную функциональность, которая упростит процесс?

Что я пытаюсь реализовать: таблица форм, заполненная значениями БД. Если вы измените значение или добавите новую строку, нажатие «сохранить» обновит или вставит строки БД. Я уверен, что это было сделано раньше, поэтому я не хотел бы изобретать велосипед.

Ответы [ 4 ]

2 голосов
/ 22 сентября 2010

Большинство PHP-бэкэндов имеют безопасный доступ к частной базе данных. Как правило, безопасность базы данных не составляет большого труда, в основном из-за того, что она не доступна напрямую. Таким образом, безопасность доступа зависит от невозможности подделки кода PHP, а не от какой-либо схемы безопасности программного обеспечения.

0 голосов
/ 23 сентября 2010

Похоже, вы действительно задаете два разных вопроса.Во-первых, я должен использовать фреймворк (Zend, Symfony, Cake и т. Д.) Для разработки веб-сайта?Другой вопрос, использовать ли что-либо по образцу ORM (Doctrine, Propel и т. Д.)?

Ответом на первый является громкое «да».Каркасы разработаны так, чтобы вам не пришлось изобретать велосипед для общих / базовых функций.Время, которое вы потратите на изучение (правильного) использования фреймворка, в конечном итоге окупится.В конечном итоге вы будете гораздо продуктивнее, чем «кататься самостоятельно».Не говоря уже о том, что вы получите сообщество людей, которые, вероятно, сталкивались с подобными ситуациями и преодолевали проблемы, аналогичные тем, с которыми вы столкнетесь (что само по себе может быть лучшей причиной для использования платформы).Я не собираюсь предлагать конкретную платформу, так как все они имеют свои сильные и слабые стороны, и это отдельная тема сама по себе (однако я использую и предпочитаю Zend Framework, но не позволяю этому влиять на ваше решение).

Относительно того, использовать ORM или нет, это немного более сложный вопрос.Я недавно начал больше работать с ними, и в целом я бы порекомендовал их, но все сводится к использованию правильного инструмента для правильной работы.Они решают некоторые конкретные проблемы очень хорошо, другие не так много.Однако, поскольку вы специально упомянули безопасность, я быстро расскажу об этом.Я не думаю, что ORM по своей сути «повышает безопасность», однако может заставить вас принимать более правильные решения.Тем не менее, плохое кодирование и плохие методы кодирования приведут к проблемам безопасности, независимо от того, какую технологию / среду вы используете.

Надеюсь, это поможет!

0 голосов
/ 23 сентября 2010

Если под абстракцией данных вы не имеете в виду реализацию шаблонов доступа к данным, таких как ActiveRecord или табличный шлюз данных, или чего-то ORMish (в обоих случаях вам следует соответствующим образом обновить свой вопрос), вам не нужна инфраструктура, потому что PHP имеетСлой абстракции БД с PDO .

0 голосов
/ 22 сентября 2010

Я бы порекомендовал Symfony Framework для этого.На Practical Symfony есть отличный онлайн-учебник. Класс Framework Form отвечает за большую часть безопасности.У этого также есть хороший плагин входа в систему , чтобы сделать приложение безопасным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...