Secure coding in PHP Training Course
This course equips PHP developers with essential skills to fortify applications against modern internet-based threats. It explores web vulnerabilities through practical PHP examples that extend beyond the OWASP Top Ten, addressing injection attacks, script injections, flaws in PHP session handling, insecure direct object references, file upload issues, and more. PHP-specific vulnerabilities are categorized into common patterns such as inadequate or incorrect input validation, poor error and exception handling, misuse of security features, and time- or state-related vulnerabilities. The latter section covers attacks like open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. Participants will learn key techniques and functions to mitigate these risks.
Special attention is also paid to client-side security, addressing issues within JavaScript, Ajax, and HTML5. The curriculum introduces vital PHP extensions for cryptography (such as hash, mcrypt, and OpenSSL) and input validation (including Ctype, ext/filter, and HTML Purifier). Best practices for hardening PHP configurations (php.ini), Apache, and server settings are provided. Additionally, the course offers an overview of security testing tools and methods available to developers and testers, including security scanners, penetration testing frameworks, exploit kits, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the explanation of vulnerabilities and configuration guidelines are reinforced with hands-on exercises. These labs demonstrate the impact of successful attacks, illustrate how to apply mitigation strategies, and guide participants in using various extensions and tools effectively.
Learning outcomes
- Grasp fundamental concepts of IT security and secure coding
- Identify and prevent web vulnerabilities beyond the OWASP Top Ten
- Understand client-side vulnerabilities and secure coding standards
- Gain practical knowledge of cryptography
- Master the use of PHP's built-in security features
- Recognize common coding errors and learn how to avoid them
- Stay informed about recent security issues in the PHP framework
- Acquire hands-on experience with security testing tools
- Access resources and further reading on secure coding
Target Audience
Developers
This course is available as onsite live training in Slovakia or online live training.Course Outline
- IT security and secure coding fundamentals
- Web application security
- Web application vulnerabilities
- Client-side security
- Client-side security
- Practical cryptography
- PHP security services
- PHP environment configuration
- Principles of security and secure coding
- Common coding errors and vulnerabilities
- Security testing techniques and tools
- Knowledge resources
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 HoursUpon completion of this training, participants will be able to:
- Explain the principles of application security and common vulnerabilities
- Outline ABAP programming best practices and the proper handling of SY-SUBRC
- Understand the nature of injection vulnerabilities
- Describe available security testing tools
- Explain the functions of ATC and CVA
Course Format
- Interactive lectures and group discussions.
- Extensive exercises and practical activities.
- Hands-on implementation within a live-lab environment.
AdaBoost Python for Machine Learning
14 HoursThis instructor-led live training in Slovakia (online or onsite) targets data scientists and software engineers who wish to use AdaBoost for building boosting algorithms in machine learning with Python.
By the end of this training, participants will be able to:
- Set up the required development environment to start building machine learning models with AdaBoost.
- Understand the ensemble learning approach and how to implement adaptive boosting.
- Learn how to construct AdaBoost models to enhance machine learning algorithms in Python.
- Use hyperparameter tuning to increase the accuracy and performance of AdaBoost models.
Applications Security Foundation
21 HoursThis course addresses the fundamental topics of secure coding that are critical for a wide range of web application developers. Participants will learn the core principles of secure programming by examining specific code snippets, identifying potential security vulnerabilities, and applying effective remediation strategies.
Throughout the course, you will observe demonstrations of real-world attacks and learn how to defend against them, building your confidence as you strive to enhance the security of your applications.
Duration: 3 days
Target Audience: Developers seeking to expand their expertise in secure coding practices.
Learning Outcomes
• Participants will acquire knowledge in:
• Web Application Security.
• Common Web Application Risks.
• Demo Web Application Penetration Testing.
• Data Validation.
• Authentication.
• Session Management.
• Secure SDLC.
Android Security
14 HoursAndroid is an open-source platform designed for mobile devices, including smartphones and tablets. While it offers a wide range of security features to simplify the development of secure software, it lacks certain security mechanisms found in other mobile platforms. This course provides a comprehensive overview of these features, highlighting critical shortcomings related to the underlying Linux kernel, the file system, and the general environment, as well as the use of permissions and other Android development components.
Common security pitfalls and vulnerabilities affecting both native code and Java applications are examined, along with recommendations and best practices to prevent and mitigate them. Many of the discussed issues are illustrated with real-world examples and case studies. Additionally, the course offers a brief overview of how to utilize security testing tools to identify potential security-related programming errors.
Participants attending this course will
- Gain a solid understanding of fundamental security concepts, IT security, and secure coding principles
- Explore the security solutions available on the Android platform
- Learn how to effectively utilize various security features provided by Android
- Discover information about recent Java vulnerabilities on Android
- Identify common coding mistakes and learn how to avoid them
- Understand vulnerabilities associated with native code on Android
- Recognize the severe consequences of improper buffer handling in native code
- Comprehend architectural protection techniques and their potential weaknesses
- Access resources and further reading materials 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 utilized various cryptographic building blocks (such as encryption and digital signatures). To help participants grasp the role and application of these cryptographic primitives, the course first establishes a solid foundation on the core requirements of secure communication – secure acknowledgement, integrity, confidentiality, remote identification, and anonymity. It also highlights typical issues that can compromise these requirements and presents real-world solutions.
Given that cryptography is a critical aspect of network security, the course discusses essential cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Instead of delving into an in-depth mathematical background, these elements are examined from a developer's perspective, illustrating typical use-case examples and practical considerations related to crypto usage, such as public key infrastructures. The course introduces security protocols across various areas of secure communication, with an in-depth discussion on the most widely used protocol families, such as IPSEC and SSL/TLS.
Typical crypto vulnerabilities are examined, both concerning specific crypto algorithms and cryptographic protocols, such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and others, as well as the RSA timing attack. For each issue, practical considerations and potential consequences are described, again without going into deep mathematical details.
Finally, as XML technology is central to data exchange in networked applications, the security aspects of XML are described. This includes the usage of XML within web services and SOAP messages alongside protection measures such as XML signature and XML encryption – as well as weaknesses in those protection measures and XML-specific security issues such as XML injection, XML external entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Understand the requirements of secure communication
- Learn about network attacks and defenses at different OSI layers
- Acquire a practical understanding of cryptography
- Understand essential security protocols
- Understand some recent attacks against cryptosystems
- Get information about some recent related vulnerabilities
- Understand security concepts of Web services
- Get sources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursSpanning three days, this course introduces the fundamental principles of writing secure C and C++ code. It focuses on defending against malicious users who may exploit vulnerabilities related to memory management and input handling.
Advanced Java Security
21 HoursEven seasoned Java developers often lack comprehensive mastery of the full range of security services provided by Java, as well as the various vulnerabilities that impact web applications built with Java.
In addition to introducing the security components of the Standard Java Edition, this course addresses security challenges within the Java Enterprise Edition (JEE) and web services. The discussion of specific services is grounded in the fundamentals of cryptography and secure communication. Through a series of exercises, participants explore declarative and programmatic security techniques in JEE, while also examining transport-layer and end-to-end security for web services. The practical application of these components is demonstrated through hands-on exercises, allowing participants to experiment directly with the discussed APIs and tools.
The course also covers and explains the most common and critical programming flaws in the Java language and platform, as well as web-related vulnerabilities. Beyond typical errors made by Java developers, the security vulnerabilities addressed include both language-specific issues and problems arising from the runtime environment. All vulnerabilities and associated attacks are illustrated through accessible exercises, followed by recommended coding guidelines and potential mitigation strategies.
Participants attending this course will
- Gain an understanding of the fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and discover how to prevent them
- Understand the security concepts underlying web services
- Acquire the skills to utilize various security features within the Java development environment
- Develop a practical understanding of cryptography
- Comprehend the security solutions offered by Java EE
- Learn about typical coding mistakes and how to avoid them
- Receive information regarding recent vulnerabilities in the Java framework
- Gain practical knowledge in using security testing tools
- Access resources and further readings on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
The Java programming language and its Runtime Environment (JRE) were specifically engineered to minimize the most common and problematic security vulnerabilities often found in other languages, such as C and C++. Despite this robust foundation, software developers and architects must not only master the positive security features of the Java environment but also remain vigilant regarding the numerous vulnerabilities that still impact Java development (negative security).
Before introducing security services, the course provides a concise overview of cryptographic fundamentals, establishing a shared baseline for understanding the purpose and functionality of the relevant components. Participants will apply their knowledge through practical exercises, allowing them to experiment directly with the discussed APIs.
The course also examines and explains the most frequent and severe programming flaws inherent to the Java language and platform, addressing both typical errors made by Java developers and issues specific to the language and its environment. All identified vulnerabilities and associated attack vectors are demonstrated through accessible exercises, followed by recommended coding guidelines and mitigation strategies.
Participants attending this course will
- Comprehend fundamental concepts of security, IT security, and secure coding.
- Gain insight into web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them.
- Master the utilization of various security features within the Java development environment.
- Develop a practical understanding of cryptography.
- Identify typical coding mistakes and learn how to avoid them.
- Receive information regarding recent vulnerabilities in the Java framework.
- Obtain resources and further reading recommendations on secure coding practices.
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages are available for compiling code to the .NET and ASP.NET frameworks. While this environment offers powerful tools for security development, developers must understand how to apply architecture- and code-level programming techniques to implement desired security functionalities, prevent vulnerabilities, and limit their potential exploitation.
The primary aim of this course is to equip developers with the skills to prevent untrusted code from executing privileged actions, protect resources through robust authentication and authorization, manage remote procedure calls, handle sessions, and explore various implementation strategies for specific functionalities, all through extensive hands-on exercises.
The course introduces various vulnerabilities by first presenting typical programming errors common in .NET development. The discussion on ASP.NET vulnerabilities examines different environment settings and their impacts. Finally, the topic of ASP.NET-specific vulnerabilities addresses general web application security challenges as well as specialized issues and attack methods, such as ViewState attacks and string termination attacks.
Participants attending this course will
- Understand core concepts of security, IT security, and secure coding.
- Gain knowledge of web vulnerabilities beyond the OWASP Top Ten and learn how to avoid them.
- Learn to utilize the various security features of the .NET development environment.
- Acquire practical experience with security testing tools.
- Identify typical coding mistakes and learn how to avoid them.
- Receive information on recent vulnerabilities in .NET and ASP.NET.
- Obtain sources and further reading materials on secure coding practices.
Audience
Developers
The Secure Coding Landscape
14 HoursThis course introduces fundamental security concepts and provides an overview of vulnerability types across different programming languages and platforms. It explains how to manage software security risks throughout the various phases of the software development lifecycle. Rather than delving into deep technical specifics, the course highlights significant and prevalent vulnerabilities in various software development technologies, while also addressing the challenges of security testing and presenting techniques and tools that can be used to identify existing issues in code.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Grasp web vulnerabilities on both the server and client sides
- Recognize the severe consequences of insecure buffer handling
- Gain awareness of recent vulnerabilities in development environments and frameworks
- Learn about typical coding mistakes and how to avoid them
- Understand security testing approaches and methodologies
Audience
Managers
Microsoft SDL Core
14 HoursThe Integrated SDL Core training provides a comprehensive look into secure software design, development, and testing via the Microsoft Secure Development Lifecycle (SDL). It offers a foundational (level 100) overview of SDL’s core components, followed by design strategies aimed at identifying and resolving vulnerabilities during the early stages of the development cycle.
Regarding the development phase, the course outlines common security-related programming bugs found in both managed and native code environments. For each vulnerability discussed, the associated attack methods and mitigation techniques are detailed, all illustrated through practical exercises that offer participants real-world hacking experience. The session also introduces various security testing methodologies, demonstrating the effectiveness of different testing tools. Participants will gain a deep understanding of these tools' operations by applying them to the vulnerable code samples used throughout the course.
Upon completion, participants will be able to
Comprehend fundamental concepts of security, IT security, and secure coding
Familiarize themselves with the essential steps of the Microsoft Secure Development Lifecycle
Master secure design and development practices
Understand principles of secure implementation
Grasp security testing methodologies
- Access resources and further reading materials on secure coding practices
Intended Audience
Developers, Managers
Laravel PHP Framework
14 HoursThis instructor-led, live training in Slovakia provides an introduction to the fundamental aspects of Laravel, guiding participants through the process of creating a web application based on Laravel.
Laravel Livewire
7 HoursThis instructor-led, live training in Slovakia (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 Slovakia (online or onsite) is aimed at web developers who wish to use Laravel and Vue.js for full-stack 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 (available online or onsite) is targeted at web developers who want to build middleware and web services using Laravel.
Upon completion of this training, participants will be able to:
- Utilize Laravel's PHP Artisan tool to generate code and components.
- Construct RESTful APIs in Laravel that support browsing, reading, editing, adding, and deleting data.
- Filter and sort results based on URL parameters using RESTful APIs.