Course: Defensive Programming in Java

$139.00
$168.19 incl. vat

duration: 12 hours |

Language: English (US) |

access duration: 180 days |

Incompany available

Details

In this online Java course you will learn more about creating secure Java applications. You will learn the basic principles of defensive programming in Java, such as the use of assertions and annotation and how you can safely use classes, types, methods and program flow management.

You also learn how to correctly deal with exceptions, how to manage sources and how to safely end a program. You will learn more about how you can defend against injection attacks, including SQL, XML, LDAP and encryption attacks and you will start with concurrency.

Finally, you will learn how to code defensively to process and protect data. You will learn how to implement secure communication and how to effectively implement access control and authentication.

Result

You can create Java applications that are efficient, safe and resistant to various issues.

Prerequisites

You have knowledge of Object Oriented Programming.

Target audience

Software Developer, Web Developer

Content

Defensive Programming in Java

12 hours

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

Course options

We offer several optional training products to enhance your learning experience. If you are planning to use our training course in preperation for an official exam then whe highly recommend using these optional training products to ensure an optimal learning experience. Sometimes there is only a practice exam or/and practice lab available.

Optional practice exam (trial exam)

To supplement this training course you may add a special practice exam. This practice exam comprises a number of trial exams which are very similar to the real exam, both in terms of form and content. This is the ultimate way to test whether you are ready for the exam. 

Optional practice lab

To supplement this training course you may add a special practice lab. You perform the tasks on real hardware and/or software applicable to your Lab. The labs are fully hosted in our cloud. The only thing you need to use our practice labs is a web browser. In the LiveLab environment you will find exercises which you can start immediatelyThe lab enviromentconsist of complete networks containing for example, clients, servers,etc. This is the ultimate way to gain extensive hands-on experience. 

WHY_ICTTRAININGEN

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 officiële 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

Orderproces

Once we have processed your order and payment, we will give you access to your courses. If you still have any questions about our ordering process, please refer to the button below.

read more about the order process

What is included?

Certificate of participation Yes
Monitor Progress Yes
Award Winning E-learning Yes
Mobile ready Yes
Sharing knowledge Unlimited access to our IT professionals community
Study advice Our consultants are here for you to advice about your study career and options
Study materials Certified teachers with in depth knowledge about the subject.
Service World's best service

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.

Life Long Learning

Follow multiple courses? Read more about our Life Long Learning concept

read more

Contact us

Need training advise? Contact us!


contact