Сейчас я узнаю о структуре 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 и не должен был ее модифицировать.