платформы php и безопасность

Для SPYDER пользователи: я использую spyder 3.3.2 с Python 3.7.1, и я решил это, установив добавление отступа, чтобы использовать вкладки, со следующими шагами, нажать:

  • Инструменты.
  • Предпочтения.
  • Редактор.
  • Расширенные настройки.
  • символы Indentation-> Вкладки.

Тогда я сбросил "unidented" строку с помощью клавиши Tab.

По некоторым причинам, без этой установки, я добирался фантом IndentationError иногда.

5
задан Ayoub M. 3 September 2009 в 10:22
поделиться

3 ответа

Вы всегда должны продолжать соблюдать основные принципы безопасности:

  • не доверяйте пользователю
  • никогда не доверяйте пользователю

Что вроде означает:

  • фильтровать / проверять все, что поступает в ваше приложение
  • , избегает любого вывода.


Использование фреймворка мало что меняет в этом, за исключением того, что:

  • Вывод в базу данных часто представляет собой некоторый уровень фреймворка, который должен иметь дело с экранированием
  • Фреймворки часто предоставляют решения для фильтрации / проверки; используйте их; -)
  • Фреймворки часто имеют некоторые рекомендации; прочтите их.


В качестве примечания: вы сказали следующее:

есть много кода и дизайна, которые вы ретранслируете, но вы не кодировали или дизайн

Учитывая, что вы используете хорошо известный фреймворк, которым пользуется множество людей, этот код, вероятно, был более протестирован / проверен, чем любой другой код, который вы могли бы написать; -)

Это преимущество открытого исходного кода, на самом деле : вы не единственный, кто отвечает за код, и многие глаза видели это, а это значит, что многие руки улучшили его.

9
ответ дан 18 December 2019 в 14:48
поделиться

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

Я вижу несколько проблемных моментов в отношении CakePHP.

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

  • Человек, быстро нажимающий кнопку отправки, снова и снова. Это может исказить или испортить вашу систему, если вы не будете осторожны. Решение этой проблемы основано не на структуре, а на вашей методологии кодирования и тестировании.
  • SQL-инъекция и другие плохие вещи. Любое поле на странице может быть потенциально нарушено, поэтому каждый элемент формы должен быть очищен. CakePHP предлагает простые методы решения этих проблем безопасности. http://book.cakephp.org/view/153/Data-Sanitization
  • Чистые URL-адреса очень важны. Никогда не следует разрабатывать систему, которая позволяет пользователю напрямую обращаться к целочисленным первичным ключам. Например, если у вас есть сайт с / show_user / 2098, то кто-то может просто ввести show_user / 2097, чтобы увидеть чужую учетную запись. CakePHP позволяет вам довольно легко включать ярлыки или UUID, чтобы этого не произошло.

Во-вторых, вы должны быть обеспокоены атаками, связанными с кодом и самими разрешениями. Например:

  • Никогда не используйте eval () или system () в своем коде на основе данных, которые могут поступать от конечного пользователя. В прошлом были приложения, написанные на Perl, которые были взломаны из-за этой проблемы.
  • Структура папок и разрешения важны с точки зрения безопасности. Пользователи никогда не должны иметь доступа к каталогу с возможностью записи. В CakePHP структура папок спроектирована так, что вы можете указать apache непосредственно на app / webroot. Это означает, что каталог tmp находится за пределами пути apache, что делает систему немного более безопасной.

В-третьих, вам следует позаботиться о защите ваших страниц администрирования и о том, кто имеет права доступа к чему.

  • CakePHP имеет Auth и компонент Acl, который позволяет вам выбирать, какие пользователи получают доступ к каким страницам. При этом используются настраиваемые сеансы Cake Sessions, которые могут храниться в базе данных с помощью PHP или записываться в файловую систему.

Я бы посоветовал ознакомиться с некоторыми важными компонентами и убедиться, что вы правильно их настроили, чтобы в результате вы создали приложение без недостатков безопасности. Обратите внимание на некоторые из этих элементов по мере дальнейшего изучения: http://book.cakephp.org/view/170/Core-Components

4
ответ дан 18 December 2019 в 14:48
поделиться

Предлагаю вам проверить ESAPI: http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API#tab=PHP

Это не фреймворк для se, но содержит множество инструментов для решения проблем, упомянутых Паскалем.

0
ответ дан 18 December 2019 в 14:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: