Переменная, которую вы объявили, является полем экземпляра, что означает, что только экземпляры класса могут установить его (и он может быть различным для каждого экземпляра). Но вы используете методы static
, и у них нет доступа к полям экземпляра (или методам).
Обычно способ решить эту проблему - создать переменную static
, если вы хотите использовать ее в static
методах:
class Program
{
public static string test;
public static void Main(string[] args)
{
test = "hi!!";
Console.WriteLine($"Inside 'Main' method, 'test' == '{test}'");
Main2();
Console.Write("\nDone! Press any key to exit...");
Console.ReadKey();
}
public static void Main2()
{
Console.WriteLine($"Inside 'Main2' method, 'test' == '{test}'");
}
}
На самом деле безопасность в Java и Python является тем же. Обработка пароля только для обзора, cookie, что тайм-аут быстро, тщательное удаление сессий, многофакторная аутентификация. Ни одно из этого не уникально для платформы Java или платформы Python как Django.
у Django, действительно, есть архитектура бэкенда безопасности, которая позволяет Вам добавлять свой собственный LDAP (или AD) соединение, возможно изменяя используемый метод обзора.
у Django есть модель Profile, где можно сохранить дополнительные факторы аутентификации.
Django предлагает нескольким типичным декораторам для проверки авторизации функции представления. Так как Python так гибок, можно тривиально записать собственные функции декоратора в слой в другой или дополнительной проверке аутентификации.
безопасность является многими первоклассными функциями в Django.
Вероятно, причина позади Java не находится в в безопасности. Я думаю, что Java более используется в крупных строительных компаниях, и банки обычно обращаются к ним для своих нужд развития (которые, вероятно, не только связаны с веб-сайтом, но сползанием глубже в бэкенде).
Так, я не вижу соображений безопасности, главным образом культурных.
Причины создания банковских приложений в Java не связаны с безопасностью, по крайней мере по моему скромному мнению. Они связаны с:
Я нахожу Ваше соединение между Java и банковским делом неправильно законченным.
Большая часть Банковского программного обеспечения имеет ужасную безопасность. И много банковского программного обеспечения записано в Java. Тыс означает, что Java делает более трудным записать безопасное программное обеспечение, чем другие языки?
, Вероятно, это не отказ Java, что существует так мало качественной безопасности (и безопасность) мудро в программном обеспечении Banking. На самом деле, как другое упоминание плакатов, выбор Вашего Языка обычно имеет очень мало последствий для Вашей безопасности - если Вы не выбираете один из нескольких языков, где только отчаянные кодеры могут написать безопасный код в (C, и PHP приходят на ум).
Много огромных САЙТОВ ЭЛЕКТРОННОЙ КОММЕРЦИИ записаны в Python, Ruby и Perl с помощью различных платформ. И я утверждал бы, что требования к защите для продавцов намного выше, чем требования банковского дела. Это вызвано тем, что продавцы должны обеспечить безопасность и хороший пользовательский опыт, в то время как банковские клиенты готовы выносить неприменимые интерфейсы маркеры SecureID и безотносительно.
Так да: Django до задачи.
Вы обращаетесь к тому, что завершенный приложение создается в Java или просто части, которую Вы видите в своем браузере? Если последний, причина состоит, вероятно в том, потому что в контексте веб-страниц, апплеты Java могут быть загружены и выполнены.
Вы не должны полагаться безопасность приложения на платформе. даже при том, что Django действительно входит с довольно большим количеством мер против классических проблем безопасности, оно не может гарантировать, что Ваше приложение будет защищенным, Вы должны намного больше, чем Платформа программирования получить важное приложение безопасности.
я сказал бы да, Django является хорошим выбором, пока Вы знаете его полномочия и ограничения и знаете о дефектах безопасности каждый приложение.
Вы можете создать безопасное приложение с помощью Django так же, как с любым популярным фреймворком Java. Одна из особенностей Java - это ее обширная криптографическая библиотека.
Для минимальных задач шифрования, которые требуются Django, достаточно криптографических служб Python, однако отсутствие надежных блочных шифров делает механизм шифрования в Django небезопасным для данных в состоянии покоя.
Python изначально поддерживает алгоритмы безопасного хеширования, включая SHA1, SHA224, SHA256, SHA384 и SHA512, однако механизм аутентификации Django еще должен быть обновлен для использования чего-либо, кроме SHA1, что делает он потенциально уязвим для криптографического анализа.