19 смертных грехов, угрожающих безопасности программ [Дэвид Лебланк] (fb2)


Дэвид Лебланк   Майкл Ховард   Джон Виега  

.NET Framework   Basic, Visual Basic, VB Script, VBA и т.п.   C, C++, C#   Java, Java Script   PHP   Python   Другие языки и системы программирования   Компьютерная безопасность   Литература ХXI века (эпоха Глобализации экономики)   Современные российские издания   Учебники и самоучители по компьютеру  

19 смертных грехов, угрожающих безопасности программ 3 Мб, 308с.
скачать: (fb2) (исправленную)  читать: (полностью) 

19 смертных грехов, угрожающих безопасности программ (fb2)Добавлена: 23.04.2013 Версия: 1.12.
Кодировка файла: UTF-8
Поделиться:
  (Fb2-info)    (ссылка для форума)     (ссылка для блога)     (QR-код книги)  

Аннотация

Эта книга необходима всем разработчикам программного обеспечения, независимо от платформы, языка или вида приложений. В ней рассмотрены 19 грехов, угрожающих безопасности программ, и показано, как от них избавиться. Рассмотрены уязвимости на языках C/C++, C#, Java, Visual Basic, Visual Basic.NET, Perl, Python в операционных системах Windows, Unix, Linux, Mac OS, Novell Netware. Авторы издания, Майкл Ховард и Дэвид Лебланк, обучают программистов, как писать безопасный код в компании Microsoft. На различных примерах продемонстрированы как сами ошибки, так и способы их исправления и защиты от них. Если вы программист, то вам просто необходимо прочесть эту книгу. Перевод: А. Слинкин


Рекомендации:

эту книгу рекомендовали 0 пользователей.
Прежде чем рекомендовать книгу, хорошо подумайте. Рекомендация - это высшая оценка, которую вы можете выставить книге. 10 по 5-балльной шкале.

// Получить пароль для открытия хранилища ключей private static char [] getPasswordFromFile() { try { BufferedReader pwdFile = new BufferedReader (new FileReader("c:\\webapps\\config\\pwd.txt")); String pwdString = pwdFile.readLine(); pwdFile.close(); char [] pwd = new char[pwdString.length()]; pwdString.getChars(0, pwdString.length(), pwd, 0); return pwd; } catch (Exception e) { return null; } } private static String getKeyStoreName() { return "<местоположение имени файла ключей>"; } public static void main(String args[]) { try { KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); // получить пароль пользователя и входной файловый поток FileInputStream fis = new FileInputStream(getKeyStoreName()); char[] password = getPasswordFromFile(); ks.load(fis, password); fis.close(); Key key = ks.getKey("mykey", password); // Использовать ключ для криптографических операций ks.close(); } catch (Exception e) { String s = e.getMessage(); } }

Лингвистический анализ текста:
Приблизительно страниц: 308 страниц - немного выше среднего (225)
Средняя длина предложения: 125.75 знаков - намного выше среднего (80)
Активный словарный запас: близко к среднему 1392.45 уникальных слова на 3000 слов текста
Доля диалогов в тексте: 0.02% - очень мало (27%)
Подробный анализ текста >>


  [Оглавление]