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
ABAP Secure code
14 HoursUpon completion of this training, participants will be able to:
- Explain the concepts of application security and vulnerabilities
- Describe ABAP programming best practices and the handling of SY-SUBRC
- Understand injection vulnerabilities
- Describe security testing tools
- Explain ATC and CVA
Course Format
- Interactive lectures and discussions
- Extensive exercises and practice sessions
- Hands-on implementation in a live-lab environment
AdaBoost Python for Machine Learning
14 HoursThis instructor-led, live training in South Africa (online or onsite) is designed for data scientists and software engineers who wish to utilise AdaBoost to build boosting algorithms for machine learning with Python.
Upon completion of this training, participants will be able to:
- Establish the necessary development environment to begin constructing machine learning models with AdaBoost.
- Grasp the ensemble learning approach and understand how to implement adaptive boosting.
- Acquire the skills to construct AdaBoost models that enhance machine learning algorithms in Python.
- Employ hyperparameter tuning to boost the accuracy and performance of AdaBoost models.
Applications Security Foundation
21 HoursThis programme equips web application developers with essential secure coding practices. Students will learn secure programming concepts by analysing specific code snippets to identify vulnerabilities and implement effective fixes.
Through demonstrations of real-world attacks and their prevention, participants will build confidence in enhancing the security of their applications.
Duration: 3 days
Target Audience: Developers seeking to deepen their expertise in secure coding.
Learning Outcomes
• Upon completion, students will gain knowledge in:
• Web Application Security.
• Common Web Application Risks.
• Demo Web Application Penetration Testing.
• Data Validation.
• Authentication.
• Session Management.
• Secure SDLC.
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 HoursThis three-day programme provides an introduction to safeguarding C/C++ applications against exploitation by malicious actors. Participants will learn how to mitigate vulnerabilities associated with memory management and input handling, while mastering the core principles of writing robust and secure code.
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
Standard Java Security: Secure Coding & Development Practices
14 HoursDescription
The Java language and its Runtime Environment (JRE) were engineered to eliminate many of the critical security vulnerabilities commonly found in languages such as C and C++. However, software developers and architects must not only master the positive security features available within the Java ecosystem but also remain vigilant about the negative security aspects, understanding the numerous vulnerabilities that still pose risks to Java development.
The course introduces essential security services by first providing a concise overview of cryptographic foundations. This establishes a common baseline for understanding the purpose and operation of relevant components. Participants will engage in several practical exercises to actively explore and test these discussed APIs.
Furthermore, the curriculum thoroughly examines the most frequent and severe programming flaws associated with the Java language and platform. This includes typical errors made by Java programmers as well as issues specific to the language and its environment. All vulnerabilities and corresponding attacks are demonstrated through accessible exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Understand web vulnerabilities extending beyond the OWASP Top Ten and learn how to prevent them
- Acquire the skills to utilise various security features within the Java development environment
- Develop a practical understanding of cryptography
- Learn to identify typical coding mistakes and understand how to avoid them
- Gain insights into recent vulnerabilities affecting the Java framework
- Access sources 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
CYBERSECURE CODER (CSC)
21 HoursThis course caters to individuals such as software developers, testers, and architects involved in creating software using different programming languages and platforms like desktop, web, cloud, and mobile. It aims to enhance their capacity to produce software of superior quality, with a special focus on security and privacy aspects.
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.
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.