Что делает CakePHP безопасным и как мы можем повысить его безопасность? - PullRequest
7 голосов
/ 19 июля 2010

Сейчас я изучаю платформу CakePHP, и я просто хотел узнать, что делает CakePHP безопасным.Насколько безопасны его компоненты, например, насколько безопасен компонент аутентификации.Кроме того, что мы можем сделать как разработчики, чтобы повысить безопасность нашего базового веб-приложения CakePHP?

Также, вы, ребята, рекомендуете какие-нибудь книги или сайты, чтобы узнать больше о безопасности CakePHP?

Надеемся услышатьот вас, ребята, скоро.Спасибо

Ответы [ 4 ]

6 голосов
/ 22 июля 2010

Лев: Некоторым сайтам не требуется высокий уровень безопасности, и они могут снизить производительность.Другие должны быть неприкосновенными.

Извините, Лео, но я не согласен.Каждый сайт, который вы создаете, вы делаете с максимальной заботой о безопасности.Независимо от того, какой это тип сайта.Предположим, например, что вы создали этот очень узкий и сверхнадежный хакер-безопасный сайт.Вы размещаете его на общем сервере, и угадайте, что ... Кто-то получил доступ к вашему безопасному сайту через дыру в вашем менее безопасном сайте.Или даже весь сервер.

Я знаю, это теория обреченности, но я верю, что подобные вещи случаются ежедневно.

5 голосов
/ 22 июля 2010

Cake следует передовым практикам во многих областях и имеет довольно безопасные встроенные инструменты. поставляется с инфраструктурой, которая уже в некоторой степени покрывает многие типичные области безопасности веб-приложений. Например, вам не нужно будет сильно беспокоиться о внедрении SQL-кода, поскольку абстракция базы данных Cake экранирует все входные данные. Там, где это не так, руководство предупреждает вас соответственно:

updateAll(array $fields, array $conditions)

! Массив $ fields принимает выражения SQL. Литеральные значения следует заключать в кавычки вручную.

Используя SecurityComponent, вы получаете автоматическую защиту от спуфинга форм.
Проверка данных является большой интегрированной частью моделей.
AuthComponent хэширует и солит пароли правильно , хотя и не обязательно самым безопасным способом.
Есть удобный ярлык h() для htmlentities, который вы должны использовать для выхода из вывода, чтобы избежать проблем с XSS.
Et cetera perge perge ...

Вам все равно придется правильно использовать все компоненты, но будьте осторожны, чтобы не открыть никаких "нестандартных" отверстий. Cake - это всего лишь набор инструментов, с его помощью все еще возможно создать ужасно небезопасное приложение. Вы все еще можете выстрелить себе в ногу, независимо от того, насколько хорош пистолет. Структура Cake по умолчанию является только отправной точкой. Это не конец всему, что с точки зрения безопасности; подумай сам. ссылка , предоставленная Джоном, действительно является хорошей отправной точкой.

4 голосов
/ 19 июля 2010

Платформа CakePHP существует довольно давно (с 2005 года) и является программным обеспечением с открытым исходным кодом. Это означает, что его код доступен для просмотра любым разработчиком или не разработчиком, который желает это сделать. И сообщество CakePHP, и сообщества безопасности имели достаточно времени, чтобы просмотреть кодовую базу и найти / исправить потенциальные проблемы безопасности. Это не значит, что это идеальное программное обеспечение, но, поскольку CakePHP настолько популярен, вы можете поспорить, что оно было тщательно проанализировано, и, если в нем есть какие-либо недостатки, его очень сложно найти и идентифицировать.

Но имейте в виду, только то, что код в среде безопасен, не означает, что его использование делает ваш код безопасным. Вам по-прежнему необходимо соблюдать правила безопасного кодирования, поскольку ваша кодовая база может быть уязвимой независимо от уровня безопасности используемой вами инфраструктуры.

2 голосов
/ 20 июля 2010

Безопасность торта довольно хорошая, но во всем есть дыры.Для ультра защищенного сайта, я бы исследовал известные дыры в безопасности и промахи и проверил сайт на предмет этих случаев.Просто недостаточно полагаться на чье-то утверждение о степени безопасности.

Некоторым сайтам не требуется высокий уровень безопасности, и они могут нанести удар по производительности.Другие должны быть неприкосновенны.

В общем, я впечатлен встроенной безопасностью Cake и пока не должен был ее изменять.

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