|
Оглавление
|
Содержание Данная глава временно взята из первой версии книги и подлежит корректировке. Вы можете помочь с этим! Перевод © Попов Руслан <radz • yandex • ru> Интернет может быть страшным местом. В наши дни, high-profile security gaffes seem to crop up on a daily basis. Мы видели вирусы, распространяющиеся с огромной скоростью, рои взломанных компьютеров становились оружием, бесконечная гонка вооружений в войне со спаммерами, и множество сообщений о взломанных веб сайтах. Будучи веб разработчиками, мы имеем обязанность делать всё необходимое для противодействия этим силам тьмы. Каждый веб разработчик должен рассматривать безопасность в качестве фундаментального аспекта своей работы. К сожалению, реализовать безопасную среду сложно — хакерам достаточно найти единственную уязвимость, а защитникам надо закрыть каждую из них. Django пытается смягчить эту проблему. Оно спроектировано для автоматической защиты вашего проекта от большинства стандартных ошибок программирования, влияющих на безопасность, которые часто делают новые (и даже опытные) разработчики. Важно понимать в чём заключаются эти ошибки, как Django может защитить вам и, самое главное, что вы можете сделать для улучшения безопасности вашего кода. Несмотря на всё это, сначала сделаем важное заявление: Мы не пытаемся предоставить полное руководство для каждого известного эксплоита FIXME и, соответственно, мы не будем пытаться объяснить каждую уязвимость подробно. Вместо этого, мы будет предоставлять краткое описание проблем на примере Django. Если вы вынесите только одну вещь из этой главы, то пусть это будет — «Никогда, ни при каких условиях, не доверяйте никаким данным полученным от пользователей». Вы никогда не будете знать, кто находится на другой стороне HTTP соединения. Это может быть один из ваших пользователей, но так же легко это может быть гнусный хакер, ищущий дыру в вашем сайте. Любые данных из любого формата, которые приходит от пользовательских браузеров, должны рассматриваться с достаточным объёмом паранойи. Под этими данными понимаются как «внутренние» (т.е., переданные через формы), так и «внешние» (т.е., HTTP заголовки, cookie и другая информация HTTP запроса). Нет никаких сложностей в подмене метаинформации запроса, которую браузеры автоматически добавляют к нему. Каждая из описываемых в данной главе уязвимостей происходит напрямую из-за доверия к данным, которые пришли по проводам и которые не были проверены перед их использованием. Вы должны постоянно спрашивать себя: «Откуда пришли эти данные?» |
Увидели ошибку?
Выделите её мышкой и нажмите
-
Обработано:
504
49
130
71
Версия книги
1.0
2.0
Версия 2.0 в процессе перевода!
Мой луч
Многообразие света
Полезное
Актуальные вакансии,
Python работа
для python-разработчиков.
Скачать в формате
CHM от 2 сентябряЗаказать PDF файл можно через почту, чат, джаббер. Всего 2WMZ. Содержимое точно соответствует содержимому сайта. Чем чаще заказываете — тем больше перевожу. Русская группа
Ускорить процесс перевода!
R130494980980
Z425285133788 E112528079659 U327380922061 Книга помогла реализовать:
|
| © 2008-2009 Ruslan Popov @ gmail.com | Powered by Django 1.1 beta 1 SVN-11114 |