Katalog książek

Wydawnictwo Helion

Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. (32) 230-98-63




© Helion 1991-2012

Lauret zaufanych opinii
Informacje podstawowe
C i C++. Bezpieczne programowanie. Receptury

C i C++. Bezpieczne programowanie. Receptury

Autorzy: John Viega, Matt Messier
Data wydania: 2005/01
Stron: 784
Cena książki: 79.89 zł
Chwilowo wyczerpana
Szczegóły:
  • Tytuł oryginału: Secure Programming Cookbook for C and C++
  • Tłumaczenie: Bartłomiej Garbacz (rozdz. 8 - 13), Krzysztof Mieśniak (rozdz. 6), Mikołaj Szczepaniak (przedmowa, rozdz. 1 - 5, 7)
  • ISBN: 8373616845 / 83-7361-684-5
  • Format: B5
  • Oprawa: miękka
  • Numer z katalogu: 2598

Informacje dodatkowe:
  • Eliminowanie najczęściej popełnianych błędów w kodzie
  • Tworzenie bezpiecznych kanałów komunikacji w aplikacjach klient-serwer
  • Stosowanie technik kryptografii i kluczy publicznych

Niemal wszystkie współczesne systemy i sieci komputerowe są atakowane przez hakerów. Techniki stosowane przez nich są przeróżne -- od przechwytywania haseł i podszywania się pod komputery lub usługi aż do ataków typu DoS. Niemal każdy problem związany z bezpieczeństwem sieci komputerowej jest wynikiem nieprawidłowego działania wykorzystywanego w niej oprogramowania. Pisanie bezpiecznych aplikacji jest trudne i często wymaga wiedzy, której wielu programistów po prostu nie posiada.

"C i C++. Bezpieczne programowanie. Receptury" to kompletne źródło wiedzy dla programistów, którzy chcą udoskonalić swoje umiejętności z zakresu tworzenia bezpiecznego kodu. Przedstawia gotowe rozwiązania zagadnień programistycznych, takich jak bezpieczna inicjalizacja aplikacji, kryptografia, uwierzytelnianie użytkowników, wymiana kluczy, zapobieganie penetracji i wielu innych. Każde zagadnienie jest przedstawione w postaci kodu źródłowego w języku C i C++ oraz obszernego opisu, co ułatwia dostosowanie go do własnych potrzeb.

  • Bezpieczne uruchamianie aplikacji
  • Kontrola dostępu do plików i aplikacji
  • Sprawdzanie poprawności danych wejściowych oraz ochrona przed atakami typu XSS i SQL Injection
  • Generowanie i obsługa kluczy symetrycznych
  • Wykorzystywanie szyfrowania symetrycznego
  • Stosowanie klucza publicznego
  • Bezpieczna komunikacja sieciowa
  • Liczby losowe
  • Zapobieganie penetracjom oraz obsługa błędów

Książka zawiera wszystkie informacje niezbędne do zabezpieczenia aplikacji przed hakerami.


Zobacz wszystkie książki tych autorów »
Osoby, które kupowały tę książkę, często kupowały też:
<strong><a href="/ksiazki/maalpr.htm" style="color:black;" title="Od matematyki do programowania. Wszystko, co każdy programista wiedzieć powinien">Od matematyki do programowania. Wszystko, co każdy programista wiedzieć powinien</a></strong><br/> <img src="/img/45.gif" class="stars" /> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 37.95 zł</b> </td><td> <a href="/zakupy/add.cgi?id=maalpr"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj maalpr" /></a> </td> </tr> </table> <strong><a href="/ksiazki/cwcp11.htm" style="color:black;" title="C++11. Nowy standard. Ćwiczenia">C++11. Nowy standard. Ćwiczenia</a></strong><br/> <img src="/img/4.gif" class="stars" /> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 21.90 zł</b> </td><td> <a href="/zakupy/add.cgi?id=cwcp11"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj cwcp11" /></a> </td> </tr> </table> <strong><a href="/ksiazki/niezaw.htm" style="color:black;" title="Niezawodne zasady web designu. Projektowanie spektakularnych witryn internetowych. Wydanie II">Niezawodne zasady web designu. Projektowanie spektakularnych witryn internetowych. Wydanie II</a></strong><br/> <img src="/img/5.gif" class="stars" /> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 49.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=niezaw"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj niezaw" /></a> </td> </tr> </table> <strong><a href="/ksiazki/cshta2.htm" style="color:black;" title="C#. Tworzenie aplikacji sieciowych. Gotowe projekty">C#. Tworzenie aplikacji sieciowych. Gotowe projekty</a></strong><br/> <img src="/img/5.gif" class="stars" /> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 49.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=cshta2"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj cshta2" /></a> </td> </tr> </table> <strong><a href="/ksiazki/tihtm5.htm" style="color:black;" title="Tablice informatyczne. HTML 5">Tablice informatyczne. HTML 5</a></strong><br/> <img src="/img/5.gif" class="stars" /> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 12.90 zł</b> </td><td> <a href="/zakupy/add.cgi?id=tihtm5"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj tihtm5" /></a> </td> </tr> </table> <strong><a href="/ksiazki/algor4.htm" style="color:black;" title="Algorytmy. Wydanie IV">Algorytmy. Wydanie IV</a></strong><br/> <img src="/img/5.gif" class="stars" /> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 149.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=algor4"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj algor4" /></a> </td> </tr> </table> <strong><a href="/ksiazki/linobj.htm" style="color:black;" title="LINQ to Objects w C# 4.0">LINQ to Objects w C# 4.0</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 49.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=linobj"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj linobj" /></a> </td> </tr> </table> <strong><a href="/ksiazki/winazu.htm" style="color:black;" title="Windows Azure. Wprowadzenie do programowania w chmurze">Windows Azure. Wprowadzenie do programowania w chmurze</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 39.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=winazu"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj winazu" /></a> </td> </tr> </table> <strong><a href="/ksiazki/jascwz.htm" style="color:black;" title="JavaScript. Wzorce">JavaScript. Wzorce</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 39.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=jascwz"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj jascwz" /></a> </td> </tr> </table> <strong><a href="/ksiazki/wspolb_ebook.htm" style="color:black;" title="Współbrzmienie. Znajdź wspólny język z odbiorcami Twojej prezentacji. eBook. ">Współbrzmienie. Znajdź wspólny język z odbiorcami Twojej prezentacji. eBook. </a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 54.99 zł</b> </td><td> <a href="/zakupy/add.cgi?id=wspolb_ebook"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj wspolb_ebook" /></a> </td> </tr> </table> <strong><a href="/ksiazki/magwpp.htm" style="color:black;" title="Beyond Bullet Points. Magia ukryta w Microsoft PowerPoint. Oczaruj słuchaczy i porwij ich do działania. Wydanie III">Beyond Bullet Points. Magia ukryta w Microsoft PowerPoint. Oczaruj słuchaczy i porwij ich do działania. Wydanie III</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 49.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=magwpp"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj magwpp" /></a> </td> </tr> </table> <strong><a href="/ksiazki/ticpp2.htm" style="color:black;" title="Tablice informatyczne. C++. Wydanie II">Tablice informatyczne. C++. Wydanie II</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 12.90 zł</b> </td><td> <a href="/zakupy/add.cgi?id=ticpp2"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj ticpp2" /></a> </td> </tr> </table>
Od razu spodobała mi się ta książka, bo jest bardzo mało dobrych pozycji, które pokazywałyby, jak konkretnie pisać przenośny kod. O bezpieczeństwie są albo książki o Uniksach, albo o Windows, a w końcu pisanie kodu związanego z bezpieczeństwem, samo w sobie nie jest proste (musi być np. ... bezpieczny).

Jak wiadomo od lat w wielu programach pojawiają się błędy bezpieczeństwa związane z plikami tymczasowymi. Otwieram zatem książkę na rozdziale Tworzenie plików tymczasowych i czytam. Po pierwsze, dowiadują się, że pod Linuksem jest funkcja mkstemp, której należy używać (to wiedziałem). Po drugie, dowiaduję się, że Windows nie ma takich funkcji, a nawet jak ma, to są do niczego (tego nie wiedziałem, ale było do przewidzenia). DO tego jest kawałek kodu z porządną implementacją mkstemp dla Windows. Fajnie, ale ja nie mogę tego użyć, bo robię pliki tymczasowe z maila i otwieram je w innych programach. Po pierwsze: nie mogę pokazać użytkownikowi nazw typu 78987343284.tmp, po drugie: plik powinien istnieć nawet po zamknięciu programu pocztowego. Czyli zostaję dalej ze swoim problemem.

No to może dowiem się w końcu jak używać OpenSSL-a w programach wielowątkowych. Są rozdziały: Tworzenie klienta SSL i Tworzenie serwera SSL. Coś na temat - warto przeczytać. Pierwsze dwie strony, to w zasadzie informacja, że nie warto korzystać z API Windows i lepiej używać OpenSSL-a (co jest zupełnie jasne). Potem zaczynają się przykłady. Niestety jest tego po dwie strony. O wielowątkowości ani słowa. W zasadzie mniej i krócej niż w jakimkolwiek artykule o OpenSSL. Pozostaje zatem studiowanie kodów źródłowych innych programów.

Podsumowując byłem trochę rozczarowany tą książką. Na pewno prezentowane recepty, to raczej podręcznikowe przykłady, a nie kod, który można wkleić do prawdziwego programu. Książka więcej tłumaczy, czasami nawet bardzo ogólnie, o bezpieczeństwie, a mniej traktuje o samym programowaniu. Konkurencja jest w zasadzie żadna, więc mimo wszystko warto ją mieć.

Software Developers Journal Paweł Marciniak; 10/05

pokaż wszystkie