Пароли, генерируемые системой, являются плохой идеей для чего-либо кроме внутренних сервисных учетных записей или временного сброса (и т.д.).
необходимо всегда использовать собственные "пароли", которые легки для Вас помнить, но которые почти невозможно предположить или грубая сила. Например, пароль для моей старой университетской учетной записи был.
Here to study again!
, Который является 20 символами с помощью верхнего регистра и нижнего регистра с пунктуацией. Это - невероятно сильный пароль и нет никакой части программного обеспечения, которое могло генерировать более безопасный, который легче помнить за меня.
Потому что любой пробел после последнего закрывающего тега может привести к сбою сценария или к отправке нежелательного вывода в браузер. Некоторые фреймворки, такие как Zend Framework, включают без последнего закрывающего тега в качестве рекомендуемой практики для разработчиков приложений, использующих ZF, чтобы избежать таких ситуаций, а также в качестве требования ] согласно их стандартам кодирования:
Для файлов, содержащих только код PHP, закрывающий тег ("?>") никогда не разрешенный. Это не требуется для PHP, и его пропуск предотвращает случайная инъекция оставшегося белого пробел в ответ.
Тем не менее, пропуск закрывающих тегов - это во многом обходной путь для проблемы, основная причина которой еще не устранена. Это сообщение в блоге утверждает то же самое.
Хорошо, если у вас есть включаемый файл, такой как config.php, и вы не хотите, чтобы он выводил какие-либо символы, потому что он не предназначен или если вы не хотите запускать «уже отправленные заголовки», вы можете оставить закрывающий тег отключенным, чтобы браузер не отправлял пробелы. Вы обнаружите, что файлы, которые являются чистым PHP и не содержат никакого содержимого для вывода, обычно не будут включать закрывающий тег.
Суть в том, что вы не хотите преждевременно вводить контент до того, как будут установлены какие-либо заголовки. Это подробно обсуждается здесь .
Используйте djangorecipe для управления своим проектом
Все Для начала вам нужно сделать следующее:
Создайте buildout.cfg со следующим содержанием:
[построить из]
parts = django
[Джанго]
recipe = djangorecipe
версия = 1.1.1
проект = my_new_site
настройки = разработка
python bootstrap.py
(или python bootstrap_dev.py
, если вы хотите использовать распространение). ./ bin / buildout
Вот и все. Теперь у вас должна быть новая папка my_new_site, которая является вашим новым проектом django 1.1.1, а в ./bin вы найдете скрипт django
, который заменяет manage.py при обычной установке.
Какая польза? Допустим, вы хотите использовать в своем проекте что-то вроде django-comment-spamfighter. Все вы' я должен изменить ваш buildout.cfg на что-то вроде этого:
[buildout]
parts=django
[django]
recipe=djangorecipe
version=1.1.1
project=my_new_site
settings=development
eggs=
django-comments-spamfighter==0.4
Обратите внимание, что все, что я сделал, это добавил последние 2 строки, в которых говорится, что django-part также должен иметь пакет django-comments-spamfighter в версии 0,4. В следующий раз, когда вы запустите ./ bin / buildout
, buildout загрузит этот пакет и изменит ./bin/django, чтобы добавить его в свой PYTHONPATH.
djangorecipe также подходит для развертывания вашего проекта с помощью mod_wsgi. Просто добавьте параметр wsgi = true
в django-часть вашего buildout.cfg, и в вашей папке ./bin появится «django.wsgi»: -)
И если вы установите test
в список приложений, djangorecipe создаст для вас красивую оболочку, которая запускает все тесты для указанного приложения в вашем проекте.