
Secure Web Application Development: A Hands-On Guide with Python and Django
Cyberangriffe werden immer alltäglicher, und das Open Web Application Security Project (OWASP) schätzt, dass 94 % der Websites allein bei der Zugangskontrolle Schwachstellen aufweisen. Angriffe entwickeln sich weiter, um neue Abwehrmechanismen zu umgehen, und Abwehrmechanismen müssen sich weiterentwickeln, um wirksam zu bleiben. Entwickler müssen die Grundlagen von Angriffen und Abwehrmechanismen verstehen, um neue Techniken verstehen zu können, sobald sie verfügbar werden. In diesem Buch lernen Sie, wie Sie sichere Webanwendungen schreiben können.
Der Schwerpunkt liegt auf der Frage, wie Hacker Anwendungen angreifen, und auf einem breiten Arsenal von Abwehrmaßnahmen. So können Sie geeignete Techniken auswählen, um Schwachstellen zu schließen und gleichzeitig den Benutzern die benötigten Funktionen zur Verfügung zu stellen.
Zu den behandelten Themen gehören:
⬤ Ein Rahmen für die Entscheidung, was und wie stark geschützt werden muss.
⬤ Konfiguration von Diensten wie Datenbanken und Webservern.
⬤ Sichere Verwendung von HTTP-Methoden wie GET, POST usw., Cookies und Verwendung von HTTPS.
⬤ Sichere REST-APIs.
⬤ Server-seitige Angriffe und Abwehrmaßnahmen wie Injektion und Cross-Site-Scripting.
⬤ Client-seitige Angriffe und Abwehrmechanismen wie Cross-Site Request Forgery.
⬤ Sicherheitstechniken wie CORS, CSP.
⬤ Passwortverwaltung, Authentifizierung und Autorisierung, einschließlich OAuth2.
⬤ Best Practices für gefährliche Vorgänge wie Passwortänderung und -rücksetzung.
⬤ Verwendung von Komponenten Dritter und Sicherheit der Lieferkette (Git, CI/CD usw.)
(Was Sie lernen werden)
⬤ .
⬤ Überprüfen Sie die Verteidigungsmaßnahmen, die zur Verhinderung von Angriffen eingesetzt werden können.
⬤ Modellieren Sie Risiken, um besser zu verstehen, was und wie Sie sich verteidigen müssen.
⬤ Wählen Sie geeignete Techniken zur Abwehr von Angriffen.
⬤ Implementieren Sie Verteidigungsmaßnahmen in Python/Django-Anwendungen.
Für wen ist dieses Buch gedacht?
⬤ Entwickler, die bereits wissen, wie man Webanwendungen erstellt, aber mehr über Sicherheit wissen müssen.
⬤ Nicht-professionelle Software-Ingenieure, wie z.B. Wissenschaftler, die Web-Tools entwickeln müssen und ihre Algorithmen einem breiteren Publikum zugänglich machen wollen.
⬤ Ingenieure und Manager, die für die technische Sicherheitspolitik ihres Produkts/ihres Unternehmens verantwortlich sind.