Cake следует передовым практикам во многих областях и имеет довольно безопасные встроенные инструменты. поставляется с инфраструктурой, которая уже в некоторой степени покрывает многие типичные области безопасности веб-приложений. Например, вам не нужно будет сильно беспокоиться о внедрении SQL-кода, поскольку абстракция базы данных Cake экранирует все входные данные. Там, где это не так, руководство предупреждает вас соответственно:
updateAll(array $fields, array $conditions)
!
Массив $ fields принимает выражения SQL. Литеральные значения следует заключать в кавычки вручную.
Используя SecurityComponent, вы получаете автоматическую защиту от спуфинга форм.
Проверка данных является большой интегрированной частью моделей.
AuthComponent хэширует и солит пароли правильно , хотя и не обязательно самым безопасным способом.
Есть удобный ярлык h()
для htmlentities
, который вы должны использовать для выхода из вывода, чтобы избежать проблем с XSS.
Et cetera perge perge ...
Вам все равно придется правильно использовать все компоненты, но будьте осторожны, чтобы не открыть никаких "нестандартных" отверстий. Cake - это всего лишь набор инструментов, с его помощью все еще возможно создать ужасно небезопасное приложение. Вы все еще можете выстрелить себе в ногу, независимо от того, насколько хорош пистолет. Структура Cake по умолчанию является только отправной точкой. Это не конец всему, что с точки зрения безопасности; подумай сам. ссылка , предоставленная Джоном, действительно является хорошей отправной точкой.