Secure coding in PHP Training Course
This course equips PHP developers with the essential skills needed to fortify their applications against modern internet-based threats. The curriculum explores web vulnerabilities through practical PHP examples, extending beyond the OWASP Top Ten to cover a wide range of injection attacks, script injections, session handling weaknesses, insecure direct object references, file upload issues, and more. PHP-specific vulnerabilities are categorised into standard vulnerability types, such as missing or flawed input validation, incorrect error and exception handling, misuse of security features, and time- and state-related problems. For the latter, the course examines attacks like open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. In every instance, participants will learn the critical techniques and functions required to mitigate these risks.
A significant focus is placed on client-side security, addressing vulnerabilities in JavaScript, Ajax, and HTML5. The course introduces key PHP security extensions, such as hash, mcrypt, and OpenSSL for cryptography, as well as Ctype, ext/filter, and HTML Purifier for input validation. Best practices for hardening are discussed in the context of PHP configuration (php.ini), Apache, and general server management. Finally, an overview of various security testing tools and techniques is provided, enabling developers and testers to utilise security scanners, penetration testing, exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the introduction to vulnerabilities and the configuration practices are reinforced by a series of hands-on exercises. These demonstrations illustrate the impact of successful attacks, show how to apply mitigation techniques, and guide participants through the use of various extensions and tools.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to avoid them
- Gain knowledge of client-side vulnerabilities and secure coding practices
- Develop a practical understanding of cryptography
- Learn to utilise various PHP security features
- Identify common coding mistakes and learn how to prevent them
- Stay informed about recent vulnerabilities affecting the PHP framework
- Acquire practical experience in using security testing tools
- Access sources and further reading on secure coding practices
Audience
Developers
This course is available as onsite live training in South Africa 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
Need help picking the right course?
southafrica@nobleprog.co.za or +27 (0)10 005 5793
Secure coding in PHP Training Course - 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
Comprehensive C# and .NET Application Security
21 HoursToday, a variety of programming languages can be utilised to compile code for the .NET and ASP.NET frameworks. While this environment offers robust mechanisms for security development, developers must understand how to apply architecture- and coding-level programming techniques to implement desired security functions, thereby avoiding vulnerabilities or mitigating their exploitation.
This course aims to equip developers with the skills to prevent untrusted code from executing privileged actions, protect resources via strong authentication and authorisation, manage remote procedure calls and sessions, and explore various functional implementations, all through numerous hands-on exercises. A dedicated section covers the configuration and hardening of the .NET and ASP.NET environments for enhanced security.
A concise introduction to cryptographic foundations establishes a practical baseline for understanding the purpose and operation of various algorithms. Building on this, the course outlines cryptographic features available in .NET before discussing recent cryptographic vulnerabilities, including those affecting specific algorithms and protocols, as well as side-channel attacks.
The course then introduces various vulnerabilities, beginning with typical programming issues inherent to .NET use, such as input validation errors, error handling flaws, and race conditions. XML security receives particular attention, while the segment on ASP.NET-specific vulnerabilities addresses distinct issues and attack vectors, such as ViewState attacks and string termination exploits.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding
- Acquire the ability to utilise various security features within the .NET development environment
- Develop a practical understanding of cryptography
- Comprehend recent attacks targeting cryptographic systems
- Gain insight into recent vulnerabilities affecting .NET and ASP.NET
- Learn to identify and avoid common coding mistakes
- Obtain hands-on experience with security testing tools
- Access sources and further readings on secure coding practices
Audience
Developers
Network Security and Secure Communication
21 HoursImplementing a secure networked application can be challenging, even for developers who have previously worked with cryptographic building blocks such as encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, the course begins by establishing a solid foundation on the core requirements of secure communication – including secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also highlights common issues that can undermine these requirements, alongside practical real-world solutions.
Given that cryptography is a critical aspect of network security, the course covers the most important algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than diving into deep mathematical theory, these concepts are presented from a developer’s perspective, featuring typical use-case examples and practical considerations such as public key infrastructures. Security protocols used across various areas of secure communication are introduced, with an in-depth focus on widely adopted protocol families like IPSEC and SSL/TLS.
The course examines typical crypto vulnerabilities related to specific cryptographic algorithms and protocols, such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and the RSA timing attack. For each issue, the practical implications and potential consequences are clearly described, avoiding complex mathematical derivations.
Finally, since XML technology is central to data exchange for networked applications, the security aspects of XML are thoroughly explored. This includes the use of XML within web services and SOAP messages, alongside protection mechanisms like XML Signature and XML Encryption. The discussion also covers weaknesses in these 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 fundamental concepts of security, IT security, and secure coding
- Grasp the requirements of secure communication
- Learn about network attacks and defences across different OSI layers
- Develop a practical understanding of cryptography
- Comprehend essential security protocols
- Gain insight into recent attacks targeting cryptosystems
- Learn about some recent related vulnerabilities
- Understand the security concepts underpinning web services
- Access resources and further reading materials on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursDeveloping secure C and C++ code demands rigorous defence against malicious exploitation, memory corruption, and input validation bypasses. This programme explores vulnerability patterns such as buffer overflows, use-after-free errors, integer overflows, and type confusion. Participants apply secure coding guidelines, static analysis tools, and defensive programming techniques to eliminate weaknesses, enforce input sanitization, and deliver hardened software resilient against cyberattacks.
Advanced Java Security
21 HoursEven seasoned Java developers often do not fully master the array of security services provided by Java, nor are they always aware of the various vulnerabilities relevant to Java-based web applications.
In addition to introducing the security components of Standard Java Edition, this course addresses security challenges within 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 practical exercises, participants explore declarative and programmatic security techniques in JEE, as well as transport-layer and end-to-end security for web services. This approach allows participants to apply the discussed APIs and tools hands-on.
The course also examines and explains the most common and severe programming flaws in the Java language and platform, alongside web-related vulnerabilities. Beyond typical errors made by Java programmers, the covered security vulnerabilities address both language-specific issues and problems arising from the runtime environment. These vulnerabilities and their associated attacks are demonstrated through accessible exercises, followed by recommended coding guidelines and mitigation strategies.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding.
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them.
- Comprehend the security concepts underlying web services.
- Gain proficiency in using the various security features of the Java development environment.
- Develop a practical understanding of cryptography.
- Understand the security solutions offered by Java EE.
- Learn about common coding mistakes and how to avoid them.
- Receive insights into recent vulnerabilities within the Java framework.
- Acquire practical experience with security testing tools.
- Access resources and further reading materials on secure coding practices.
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, developers have access to various programming languages capable of compiling code for the .NET and ASP.NET frameworks. While this environment offers robust tools for security development, it is crucial for developers to understand how to apply architectural and coding-level techniques to implement effective security measures, avoid vulnerabilities, and limit potential exploitation.
This course aims to equip developers with the skills to prevent untrusted code from executing privileged actions through numerous hands-on exercises. Participants will learn to protect resources via strong authentication and authorization, manage remote procedure calls, handle sessions, and explore various implementation strategies for specific functionalities.
The course introduces various vulnerabilities by highlighting typical programming errors made when using .NET. The discussion on ASP.NET vulnerabilities covers the impact of different environment settings. Furthermore, the section on ASP.NET-specific vulnerabilities addresses general web application security challenges alongside specialized issues and attack vectors, such as ViewState attacks and string termination exploits.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding principles
- Identify web vulnerabilities beyond the OWASP Top Ten and learn how to mitigate them
- Utilise the various security features available in the .NET development environment
- Acquire practical skills in using security testing tools
- Recognise common coding mistakes and understand how to prevent them
- Gain insights into recent vulnerabilities affecting .NET and ASP.NET
- Access sources and further reading materials on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThe Combined SDL Core training provides an in-depth look at secure software design, development, and testing via the Microsoft Secure Development Lifecycle (SDL). This course offers a level 100 overview of the fundamental building blocks of the SDL, followed by design techniques to help you detect and fix flaws in the early stages of the development process.
During the development phase, the course provides an overview of typical security-relevant programming bugs found in both managed and native code. Attack methods are presented for the discussed vulnerabilities, along with associated mitigation techniques, all explained through a number of hands-on exercises providing live hacking fun for the participants. The introduction of different security testing methods is followed by demonstrating the effectiveness of various testing tools. Participants can understand the operation of these tools through a number of practical exercises by applying the tools to the already discussed vulnerable code.
Participants attending this course will
Understand basic concepts of security, IT security and secure coding
Get known to the essential steps of Microsoft Secure Development Lifecycle
Learn secure design and development practices
Learn about secure implementation principles
Understand security testing methodology
- Get sources and further readings on secure coding practices
Audience
Developers, Managers
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led, live course in South Africa, participants will learn how to formulate the proper security strategy to face the DevOps security challenge.
EC-Council Certified DevSecOps Engineer (ECDE)
28 HoursThe EC-Council Certified DevSecOps Engineer (ECDE) is a practical course designed to empower professionals with the expertise to embed security throughout the DevOps lifecycle, facilitating secure software development from the initial planning stages through to deployment.
This instructor-led live training, available either online or onsite, targets intermediate-level software and DevOps professionals aiming to integrate security practices into their CI/CD pipelines, thereby ensuring the delivery of secure and compliant code.
Upon completion of this training, participants will be equipped to:
- Grasp the core principles and practices of DevSecOps.
- Secure every stage of the CI/CD pipeline using automated tools.
- Implement secure coding standards and conduct vulnerability scanning.
- Prepare for the ECDE certification through practical labs and comprehensive review.
Course Format
- Interactive lectures and discussions.
- Hands-on application of DevSecOps tools within simulated pipelines.
- Guided exercises emphasising secure development and deployment techniques.
Course Customization Options
- To arrange customized training tailored to your team’s workflows or toolchain, please contact us.
Laravel PHP Framework
14 HoursThis instructor-led, live training in South Africa 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 South Africa (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 South Africa (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 using Laravel and Vue.js.
- Integrate the Laravel backend API with Vue.js.
- Deploy a Laravel application.
Laravel: Middleware Development
14 HoursThis instructor-led live training (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 Artisan 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.
How to Write Secure Code
35 HoursThis course aims to assist with the following:
- Enable developers to master secure coding techniques.
- Equip software testers to assess application security prior to deployment.
- Assist software architects in understanding application-related risks.
- Support team leaders in establishing security baselines for developers.
- Guide web masters in configuring servers to prevent misconfigurations.
Secure Developer Java (Inc OWASP)
21 HoursThis course explores secure coding principles and concepts for Java, applying the testing methodologies of the Open Web Application Security Project (OWASP). The Open Web Application Security Project is a global community dedicated to providing freely accessible articles, methodologies, documentation, tools, and technologies focused on web application security.
Secure Developer .NET (Inc OWASP)
21 HoursThis course delves into secure coding concepts and principles using ASP.NET, grounded in the Open Web Application Security Project (OWASP) testing methodology. OWASP is an online community that develops freely available articles, methodologies, documentation, tools, and technologies focused on web application security.
This course examines the security features of the .NET Framework and illustrates how to protect web applications effectively.