Training: Defensive Programming in Java

Gegevens
In deze online Java cursus leer je meer over het maken van veilige Java toepassingen. Je leert de basisprincipes van defensief programmeren in Java, zoals het gebruik van assertions en annotatie en hoe je classes, types, methods en program flow beheer veilig kunt gebruiken.
Je leert ook hoe je exceptions correct behandelt, hoe je bronnen beheert en hoe je een programma veilig beëindigt. Verder leer je meer over hoe je je kunt verdedigen tegen injectie-aanvallen, waaronder SQL-, XML-, LDAP- en coderingsaanvallen en je gaat aan de slag met concurrency.
Tot slot leer je hoe je defensief codeert om gegevens te verwerken en te beschermen. Je leert hoe je veilige communicatie implementeert en hoe je toegangscontrole en authenticatie effectief implementeert.
Resultaat
Je kunt Java toepassingen maken die efficient, veilig en bestand zijn tegen verschillende issues.
Voorkennis
Je hebt kennis over Object Georienteerde Talen.
Doelgroep
Softwareontwikkelaar, Webontwikkelaar
Inhoud
Defensive Programming in Java
Defensive Programming in Java: Fundamentals
- start the course
- recognize the key features of defensive coding in Java
- use assertions in your Java programming code
- use annotations in Java programming code
- create examples of defensible methods in Java
- identify and apply defensive techniques for handling untrusted method parameters
- apply secure checks on method return values
- identify issues with conversions to narrower types in Java and identify issues with promotions such as long to double
- identify issues with floating point values
- recognize what integer overflow is and how to prevent it
- identify issues with arithmetic operations in Java programs
- identify issues with forming strings containing partial characters from variable-width encodings
- identify issues with encoding noncharacter data as a string
- identify issues with using strings to compare locale-dependent data
- identify how to use null values in creating defendable code
- identify how to work with classes to create defendable code
- identify how to work defensively with constructors in Java
- identify issues with mutability in Java classes
- identify how to work defensively with serialization and deserialization in Java
- identify the difference between abstract object and reference equality in Java programs
- identify how to use conditional expressions when coding defensively
- identify how to avoid assignments in conditional expression for defensive programming in Java
- identify how to distinguish and use bitwise and logical operators in conditional expressions
- use best practices in working with enhanced for poop in Java programs
- identify how to use collections safely in Java programs
- demonstrate how to use exceptions appropriately in Java to handle errors
- identify how denial-of-service or DoS attacks can occur
- identify how to manage resources safely in Java
- identify how to correctly terminate Java programs
- use defensive programming techniques in Java programs
Defensive Programming in Java: Data Handling, Injection Attacks, and Concurrency
- start the course
- identify why unsanitized data should not be logged in Java
- programs
- identify why unsanitized data should be excluded from format
- strings
- identify the issues that can occur when handling ZIP and GZIP
- files in Java
- identify how to use input validation in a Java application
- identify how to protect regular expressions against regex
- injection attacks
- identify how to prevent SQL injection attacks in Java
- identify how to prevent code injections in Java
- set up a local LDAP server, create a connection, and populate
- the server with directory entries
- identify how to prevent LDAP injection in Java
- identify how to prevent XPath injections in Java
- identify how to prevent XML injection attacks in Java
- identify how to prevent against XML Entity expansion attacks in
- Java
- list the potential problems that path traversal may cause and
- recognize how to prevent them in Java
- handle concurrency securely by avoiding race conditions in Java
- programs
- safely manage concurrency by ensuring safe publication of the
- members of referenced objects
- safely manage concurrency by ensuring proper synchronization
- semantics
- use thread-safety-related annotation in Java programs
- use defensive programming techniques to defend against attacks
- in Java programs
Defensive Programming in Java: Data Security and Access Control
- start this course
- implement secure network communications in Java programs
- identify permission issues with callback methods that you need
- to consider when programming defensively in Java
- identify access control issues with
- java.security.AccessController.doPrivileged in Java programs
- identify how to use containers securely in Java
- create a custom security policy file to grant permissions in
- Java
- identify permission issues with contexts that you need to
- consider when programming defensively in Java
- identify permission issues with callers that you need to
- consider when programming defensively in Java
- identify how to code defensively to avoid compromising data
- confidentiality
- use secure password storage
- review a database that stores user authentication data and
- write code that can be used to connect and communicate with the
- database
- implement and test secure user authentication
- use defensive coding techniques in communication, authorization
- and access control to create a secure Java application
Opties bij cursus
Wij bieden, naast de training, in sommige gevallen ook diverse extra leermiddelen aan. Wanneer u zich gaat voorbereiden op een officieel examen dan raden wij aan om ook de extra leermiddelen te gebruiken die beschikbaar zijn bij deze training. Het kan voorkomen dat bij sommige cursussen alleen een examentraining en/of LiveLab beschikbaar is.
Examentraining (proefexamens)
In aanvulling op deze training kunt u een speciale examentraining aanschaffen. De examentraining bevat verschillende proefexamens die het echte examen dicht benaderen. Zowel qua vorm als qua inhoud. Dit is de ultieme manier om te testen of u klaar bent voor het examen.
LiveLab
Als extra mogelijkheid bij deze training kunt u een LiveLab toevoegen. U voert de opdrachten uit op de echte hardware en/of software die van toepassing zijn op uw Lab. De LiveLabs worden volledig door ons gehost in de cloud. U heeft zelf dus alleen een browser nodig om gebruik te maken van de LiveLabs. In de LiveLab omgeving vindt u de opdrachten waarmee u direct kunt starten. De labomgevingen bestaan uit complete netwerken met bijvoorbeeld clients, servers, routers etc. Dit is de ultieme manier om uitgebreide praktijkervaring op te doen.
Inloggen
Waarom Icttrainingen.nl?
Via ons opleidingsconcept bespaar je tot 80% op trainingen
Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo
Spar met medecursisten en profileer je als autoriteit in je vakgebied.
Ontvang na succesvolle afronding van je cursus het certificaat van deelname van Icttrainingen.nl
Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers
Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten
Bestelproces
Zodra wij uw order en betaling hebben verwerkt, zetten wij uw trainingen klaar en kunt u aan de slag. Heeft u toch nog vragen over ons orderproces kunt u onderstaande button raadplegen.
Een zakelijk account aanmaken
Wanneer je bestelt namens je bedrijf doe je er goed aan om aan zakelijk account bij ons aan te maken. Tijdens het registratieproces kan je hiervoor kiezen. Je hebt vervolgens de mogelijkheden om de bedrijfsgegevens in te voeren, PO-nummer & referentie en een afwijkend factuuradres toe te voegen.
Betaalmogelijkheden
Je hebt bij ons diverse betaalmogelijkheden. Bij alle betaalopties ontvang je sowieso een factuur na de bestelling. Gaat je werkgever betalen, dan kies je voor betaling per factuur.

Cursisten aanmaken
Als je een zakelijk account hebt aangemaakt dan heb je de optie om cursisten/medewerkers aan te maken onder je account. Als je dus meerdere trainingen koopt, kan je cursisten aanmaken en de cursussen vervolgens uitdelen aan je collega’s. De cursisten krijgen een e-mail met inloggegevens en dat zij kunnen starten met de cursus.
Voortgangsinformatie
Met een zakelijk account ben je automatisch beheerder van je organisatie en kan je naast cursisten ook managers aanmaken. Beheerders en managers kunnen tevens voortgang inzien van alle cursisten binnen de organisatie.
Wat is inbegrepen?
Certificaat van deelname | ja |
Voortgangsbewaking | ja |
Award Winning E-learning | ja |
Geschikt voor mobiel | ja |
Kennis delen | Onbeperkte toegang tot onze community met IT professionals |
Studieadvies | Onze consultants zijn beschikbaar om je te voorzien van studieadvies |
Studiemateriaal | Gecertificeerde docenten met uitgebreide kennis over de onderwerpen |
Service | Service via chat, telefoon, e-mail (razendsnel) |
Platform
Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.

FAQ
- Op welke manieren kan ik betalen?
- Hoe werkt het bestelproces?
- Kan ik persoonlijke begeleiding krijgen bij mijn training?
Niet gevonden wat je zocht? Bekijk alle vragen of neem contact op.