Secure coding in PHP Training Course
The course equips PHP developers with the essential skills needed to protect their applications from modern internet-based attacks. It delves into web vulnerabilities through PHP-specific examples, going beyond the OWASP Top Ten to address a variety of injection attacks, script injections, session handling attacks in PHP, insecure direct object references, file upload issues, and many more. The course categorizes PHP-related vulnerabilities into standard types such as missing or improper input validation, incorrect error and exception handling, misuse of security features, and time- and state-related problems. For the latter, we discuss specific attacks like open_basedir circumvention, denial-of-service through magic float, and hash table collision attacks. Participants will become familiar with the most important techniques and functions to mitigate these risks.
A particular emphasis is placed on client-side security, addressing JavaScript, Ajax, and HTML5-related issues. The course introduces several PHP extensions for security, including hash, mcrypt, OpenSSL for cryptography, Ctype, ext/filter, and HTML Purifier for input validation. Best practices for hardening PHP configuration (setting php.ini), Apache, and the server in general are also covered. Finally, an overview of various security testing tools and techniques is provided, such as security scanners, penetration testing and exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the introduction of vulnerabilities and configuration practices are reinforced with hands-on exercises that demonstrate the consequences of successful attacks, show how to apply mitigation techniques, and introduce the use of various extensions and tools.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to prevent them
- Gain knowledge of client-side vulnerabilities and secure coding practices
- Develop a practical understanding of cryptography
- Learn to utilize various security features in PHP
- Become aware of common coding mistakes and how to avoid them
- Stay informed about recent vulnerabilities in the PHP framework
- Acquire practical knowledge in using security testing tools
- Receive sources and further readings on secure coding practices
Audience
Developers
This course is available as onsite live training in Serbia or online live training.Course Outline
- IT security and secure coding
- Web application security
- Web application vulnerabilities
- Client-side security
- Client-side security
- Practical cryptography
- PHP security services
- PHP Environment
- Principles of security and secure coding
- Common coding errors and vulnerabilities
- Security testing techniques and tools
- Knowledge sources
Open Training Courses require 5+ participants.
Secure coding in PHP Training Course - Booking
Secure coding in PHP Training Course - Enquiry
Secure coding in PHP - Consultancy Enquiry
Testimonials (3)
I genuinely enjoyed the real life examples.
Marios Prokopiou
Course - Secure coding in PHP
All topics were well covered and presented with a lot of examples. Ahmed was very efficient and managed to keep us focused and attracted at all times.
Kostas Bastas
Course - Secure coding in PHP
The subject of the course was very interesting and gave us many ideas.
Anastasios Manios
Course - Secure coding in PHP
Upcoming Courses
Related Courses
ABAP Secure code
14 HoursBy the end of this training, participants will be able to:
- Explain application security and common vulnerabilities
- Describe best practices for ABAP programming and handling SY-SUBRC
- Understand injection vulnerabilities and how to mitigate them
- Describe various security testing tools and their applications
- Explain the roles of ATC and CVA in ensuring code quality and security
Format of the Course
- Interactive lectures and discussions
- Ample exercises and practical activities
- Hands-on implementation in a live-lab environment
AdaBoost Python for Machine Learning
14 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at data scientists and software engineers who wish to use AdaBoost to build boosting algorithms for machine learning with Python.
By the end of this training, participants will be able to:
- Set up the necessary development environment to start building machine learning models with AdaBoost.
- Understand the ensemble learning approach and how to implement adaptive boosting.
- Learn how to build AdaBoost models to boost machine learning algorithms in Python.
- Use hyperparameter tuning to increase the accuracy and performance of AdaBoost models.
Applications Security Foundation
21 HoursThis course delves into the essential topics of secure coding that are pertinent to a wide range of web application developers. It aims to educate students on the principles of secure programming by examining specific code segments, identifying security vulnerabilities, and implementing effective fixes for these issues.
Throughout the course, you will observe demonstrations of real-world attacks and learn strategies to prevent them, thereby gaining confidence in enhancing the security of your applications.
Duration: 3 days
Who Should Attend: Developers seeking to expand their expertise in secure coding.
Upon Completion
• Students will acquire knowledge in:
• Web Application Security.
• Common Web Application Risks.
• Demonstrations of Web Application Penetration Testing.
• Data Validation.
• Authentication.
• Session Management.
• Secure Software Development Life Cycle (SDLC).
Android Security
14 HoursAndroid is an open platform designed for mobile devices like smartphones and tablets. It offers a wide array of security features to facilitate the development of secure software; however, it lacks some security aspects found in other handheld platforms. This course provides a comprehensive overview of these features, highlighting the most critical shortcomings related to the underlying Linux system, the file system, and the general environment, as well as issues concerning permissions and other Android software development components.
The course covers typical security pitfalls and vulnerabilities for both native code and Java applications, along with recommendations and best practices to avoid and mitigate these issues. Many of the discussed topics are supported by real-life examples and case studies. Additionally, we provide a brief overview of how to use security testing tools to identify any programming bugs that could affect security.
Participants attending this course will
- Gain an understanding of basic concepts in security, IT security, and secure coding
- Learn about the security solutions available on Android
- Discover how to utilize various security features of the Android platform
- Receive information about recent vulnerabilities in Java on Android
- Understand typical coding mistakes and how to avoid them
- Gain insight into native code vulnerabilities on Android
- Recognize the severe consequences of insecure buffer handling in native code
- Understand architectural protection techniques and their limitations
- Access sources and further readings on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursImplementing a secure networked application can be challenging, even for developers who have previously used various cryptographic components like encryption and digital signatures. To help participants grasp the role and usage of these cryptographic tools, a solid foundation is laid on the primary requirements of secure communication—secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. The course also highlights typical issues that can compromise these requirements and offers practical solutions.
Cryptography plays a crucial role in network security, and the most important cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement are thoroughly discussed. Rather than delving into complex mathematical theories, these elements are presented from a developer's perspective, with examples of typical use cases and practical considerations related to cryptography, such as public key infrastructures. Security protocols across various secure communication areas are introduced, with an in-depth focus on widely-used protocol families like IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are examined, including those related to specific algorithms and protocols like BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and similar issues, as well as the RSA timing attack. Each vulnerability is described in terms of practical implications and potential consequences, avoiding deep mathematical details.
Since XML technology is fundamental for data exchange in networked applications, the course covers the security aspects of XML. This includes the use of XML within web services and SOAP messages, along with protection measures such as XML signatures and XML encryption. The course also addresses weaknesses in these protection measures and XML-specific security issues like XML injection, XML external entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Gain an understanding of basic concepts in security, IT security, and secure coding
- Understand the requirements for secure communication
- Learn about network attacks and defenses at different OSI layers
- Acquire a practical understanding of cryptography
- Understand essential security protocols
- Learn about recent attacks against cryptosystems
- Receive information on recent related vulnerabilities
- Understand the security concepts of web services
- Access sources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursThis three-day course delves into the fundamentals of securing C/C++ code against potential exploits by malicious users. It focuses on common vulnerabilities related to memory management and input handling, emphasizing the principles of writing secure code.
Advanced Java Security
21 HoursEven experienced Java programmers may not fully grasp the various security services provided by Java, nor are they always aware of the specific vulnerabilities relevant to web applications developed in Java.
This course delves into the security components of Standard Java Edition and addresses security concerns in Java Enterprise Edition (JEE) and web services. Before discussing specific services, it covers the fundamentals of cryptography and secure communication. The course includes a variety of exercises on declarative and programmatic security techniques in JEE, as well as transport-layer and end-to-end security for web services. Practical exercises allow participants to explore the discussed APIs and tools firsthand.
The course also examines and explains the most common and severe programming flaws in the Java language and platform, along with web-related vulnerabilities. It covers both language-specific issues and problems arising from the runtime environment. Each vulnerability and associated attack is demonstrated through straightforward exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to prevent them
- Grasp the security principles of web services
- Become proficient in using various security features of the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions offered by Java EE
- Learn about typical coding mistakes and how to avoid them
- Receive information on recent vulnerabilities in the Java framework
- Acquire practical knowledge in using security testing tools
- Access sources and further readings on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
The Java language and Runtime Environment (JRE) were designed to mitigate the most common security vulnerabilities found in other languages, such as C/C++. However, software developers and architects should not only be proficient in using the various security features of the Java environment (positive security), but they should also be aware of the numerous vulnerabilities that still pose risks for Java development (negative security).
Before diving into security services, the course provides a brief overview of cryptography fundamentals to establish a common understanding of their purpose and operation. This foundation is followed by practical exercises where participants can experiment with the discussed APIs themselves.
The course also examines and explains the most frequent and severe programming flaws in the Java language and platform, covering both typical bugs made by Java programmers and issues specific to the language and environment. Each vulnerability and relevant attack is demonstrated through straightforward exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Gain proficiency in using various security features of the Java development environment
- Acquire a practical understanding of cryptography
- Identify typical coding mistakes and learn how to prevent them
- Stay informed about recent vulnerabilities in the Java framework
- Access sources and further readings on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursA variety of programming languages are available today for compiling code to the .NET and ASP.NET frameworks. The environment offers robust tools for security development, but developers need to understand how to apply architectural and coding techniques to implement effective security features and minimize vulnerabilities or their exploitation.
The goal of this course is to teach developers through extensive hands-on exercises how to prevent untrusted code from executing privileged actions, secure resources with strong authentication and authorization, facilitate remote procedure calls, manage sessions, explore different implementations for specific functionalities, and much more.
The discussion on vulnerabilities begins by highlighting typical programming errors that occur when using .NET. The conversation then extends to the vulnerabilities of ASP.NET, covering various environmental settings and their implications. Finally, the focus shifts to ASP.NET-specific vulnerabilities, addressing both general web application security challenges and unique issues such as attacking the ViewState or string termination attacks.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about Web vulnerabilities beyond the OWASP Top Ten and how to mitigate them
- Acquire skills in utilizing various security features of the .NET development environment
- Gain practical experience with security testing tools
- Identify common coding mistakes and learn how to avoid them
- Receive information on recent vulnerabilities in .NET and ASP.NET
- Access sources and further readings on secure coding practices
Audience
Developers
The Secure Coding Landscape
14 HoursThis course provides an introduction to key security concepts, offering a broad overview of vulnerabilities that are common across different programming languages and platforms. It explains how to manage the risks associated with software security throughout the various stages of the software development lifecycle. While avoiding deep technical details, it highlights some of the most significant and prevalent vulnerabilities in various software technologies and discusses the challenges of security testing. The course also introduces techniques and tools that can be used to identify and address any existing issues in your code.
Participants attending this course will
- Gain a solid understanding of fundamental security concepts, IT security, and secure coding practices
- Learn about web vulnerabilities affecting both server-side and client-side components
- Recognize the serious consequences of improper buffer handling
- Stay informed about recent vulnerabilities in development environments and frameworks
- Discover common coding errors and learn how to avoid them
- Understand different approaches and methodologies for security testing
Audience
Managers
Microsoft SDL Core
14 HoursThe Comprehensive SDL core training offers an in-depth look into the principles of secure software design, development, and testing through Microsoft's Secure Development Lifecycle (SDL). This course provides a foundational level 100 overview of the essential components of SDL, along with practical design techniques aimed at identifying and resolving flaws during the early stages of the development process.
During the development phase, the training covers common security-related programming errors in both managed and native code. It presents various attack methods for these vulnerabilities and provides mitigation strategies, all illustrated through a series of hands-on exercises designed to give participants an engaging experience in practical hacking. The course also introduces different security testing methodologies and demonstrates the effectiveness of several testing tools. Participants will gain insight into how these tools operate by applying them to previously discussed vulnerable code through numerous practical exercises.
Participants in this course will:
Grasp fundamental concepts of security, IT security, and secure coding
Become familiar with the key steps of Microsoft's Secure Development Lifecycle
Acquire knowledge of secure design and development practices
Learn about secure implementation principles
Comprehend security testing methodologies
- Receive resources and additional reading materials on secure coding practices
Audience
Developers, Managers
Laravel PHP Framework
14 HoursThis instructor-led, live training in Serbia introduces the fundamentals of Laravel and walks participants through the creation of a Laravel-based web application.
Laravel Livewire
7 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at developers who wish to learn and use Livewire to build modern and dynamic application interfaces.
By the end of this training, participants will be able to:
- Build and test livewire components.
- Build applications using the Livewire library.
- Create dynamic components within PHP.
Laravel and Vue.js
14 HoursThis instructor-led, live training in Serbia (online or onsite) is aimed at web developers who wish to use Laravel and Vue JS for fullstack web development.
By the end of this training, participants will be able to:
- Develop web applications with Laravel and Vue JS.
- Integrate the Laravel backend API into Vue JS.
- Deploy a Laravel application.
Laravel: Middleware Development
14 HoursThis instructor-led, live training in (online or onsite) is aimed at web developers who wish to build middleware and web services in Laravel.
By the end of this training, participants will be able to:
- Use Laravel PHP Aritisan to generate code and components.
- Build RESTful APIs in Laravel that can browse, read, edit, add, and delete.
- Filter and sort results based on URL parameters using RESTful APIs.