Что делает CakePHP безопасным и как мы можем повысить его безопасность?

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

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

Надеюсь скоро услышать от вас ребята. благодаря

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

updateAll(array $fields, array $conditions) 

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

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

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

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

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

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

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

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

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

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

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