Secure coding in PHP Training Course
This course equips PHP developers with the vital skills needed to harden applications against modern internet threats. We explore web vulnerabilities through practical PHP examples, extending beyond the OWASP Top Ten to address various injection attacks, script injections, session handling weaknesses, insecure direct object references, file upload issues, and more. PHP-related vulnerabilities are categorized 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. We also examine specific attack vectors like open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. In each scenario, participants will master the key techniques and functions required to mitigate these risks.
A significant portion of the course focuses on client-side security, addressing issues related to JavaScript, Ajax, and HTML5. We introduce essential PHP extensions for cryptography, such as hash, mcrypt, and OpenSSL, as well as tools for input validation like Ctype, ext/filter, and HTML Purifier. Best practices for hardening PHP configurations (including php.ini settings), Apache, and the broader server environment are also covered. Additionally, the course provides an overview of various security testing tools and techniques available to developers and testers, including security scanners, penetration testing methodologies, exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the introduction of vulnerabilities and the configuration practices are reinforced through hands-on exercises. These demonstrations illustrate the consequences of successful attacks, show how to apply mitigation techniques, and guide the use of various extensions and tools.
Upon completion of this course, participants will be able to
- Grasp the fundamental concepts of security, IT security, and secure coding
- Identify and avoid web vulnerabilities beyond the OWASP Top Ten
- Understand client-side vulnerabilities and implement secure coding practices
- Develop a practical understanding of cryptography
- Utilize various security features inherent to PHP
- Recognize common coding errors and learn how to prevent them
- Stay informed about recent vulnerabilities in the PHP framework
- Gain practical experience in using security testing tools
- Access resources and further readings on secure coding practices
Target Audience
Developers
This course is available as onsite live training in Nigeria 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
Related Courses
ABAP Secure code
14 HoursUpon completion of this training, participants will be equipped to:
- Articulate the fundamentals of application security and common vulnerabilities
- Outline ABAP programming best practices and the proper management of SY-SUBRC
- Gain an understanding of injection vulnerabilities
- Describe various security testing tools
- Explain the roles of ATC and CVA
Course Format
- Interactive lectures and discussions
- Extensive exercises and practice sessions
- Hands-on implementation within a live-lab environment
AdaBoost Python for Machine Learning
14 HoursThis instructor-led live training in Nigeria (offered online or onsite) is tailored for data scientists and software engineers who wish to utilize AdaBoost to build boosting algorithms for machine learning with Python.
By the end of this training, participants will be able to:
- Set up the required development environment to begin building machine learning models with AdaBoost.
- Comprehend the ensemble learning approach and learn how to implement adaptive boosting.
- Learn the process of building AdaBoost models to enhance machine learning algorithms in Python.
- Use hyperparameter tuning to improve the accuracy and performance of AdaBoost models.
Applications Security Foundation
21 HoursThis programme explores the essential secure coding principles that are vital for a broad spectrum of web application developers. It equips participants with the concepts of secure programming by guiding them through the process of examining specific code snippets, identifying potential security vulnerabilities, and implementing effective remediation strategies.
Throughout this course, learners will observe demonstrations of real-world attacks and learn practical methods to prevent them, thereby building confidence in their ability to enhance the security posture of their applications.
Duration: 3 days
Target Audience: Developers seeking to expand their expertise in secure coding practices.
Key Learning Outcomes
• Participants will acquire knowledge in:
• Web Application Security.
• Common Web Application Risks.
• Penetration Testing of Demo Web Applications.
• Data Validation.
• Authentication.
• Session Management.
• Secure Software Development Life Cycle (SDLC).
Network Security and Secure Communication
21 HoursDeveloping secure networked applications presents challenges even for developers who have previously utilized various cryptographic building blocks, such as encryption and digital signatures. To ensure participants grasp the role and application of these cryptographic primitives, the course begins by establishing a strong foundation on the core requirements of secure communication: secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. This is complemented by an exploration of common threats that can compromise these requirements, alongside practical real-world solutions.
Given that cryptography is a cornerstone of network security, the curriculum covers the most vital algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on complex mathematical theories, these concepts are presented from a developer's viewpoint, illustrating typical use cases and practical considerations, including the implementation of public key infrastructures (PKI). The course introduces security protocols across various domains of secure communication, providing an in-depth look at widely-used protocol families like IPsec and SSL/TLS.
Typical cryptographic vulnerabilities associated with specific algorithms and protocols are examined, including BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding Oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each vulnerability, the course details practical considerations and potential consequences, maintaining a focus on applicability rather than deep mathematical analysis.
Finally, recognizing that XML technology is central to data exchange for networked applications, the security implications of XML are thoroughly described. This covers the use of XML in web services and SOAP messages, as well as protective measures like XML Signature and XML Encryption. The course also addresses weaknesses in these protections and specific XML-related 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
- Grasp the requirements of secure communication
- Learn about network attacks and defenses across different OSI layers
- Gain a practical understanding of cryptography
- Understand essential security protocols
- Analyze recent attacks against cryptosystems
- Identify information regarding recent related vulnerabilities
- Understand security concepts relevant to web services
- Access sources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursDeveloping secure C and C++ code demands robust defenses against malicious exploitation, memory corruption, and input validation bypasses. This program explores vulnerability patterns such as buffer overflows, use-after-free errors, integer overflows, and type confusion. Participants will apply secure coding guidelines, leverage static analysis tools, and utilize defensive programming techniques to eliminate weaknesses, enforce input sanitization, and deliver hardened software that is resilient against cyberattacks.
Advanced Java Security
21 HoursEven seasoned Java developers often struggle to fully master the diverse security services provided by Java, and they are frequently unaware of the various vulnerabilities that impact web applications built with Java.
Beyond introducing the security components of Standard Java Edition, this course addresses the security challenges associated with Java Enterprise Edition (JEE) and web services. The discussion of specific services is grounded in the fundamental principles of cryptography and secure communication. Participants will engage in various exercises covering declarative and programmatic security techniques in JEE, while also exploring transport-layer and end-to-end security for web services. Through practical exercises, attendees can apply the discussed APIs and tools, gaining hands-on experience with each component.
The course also examines and explains the most common and severe programming flaws in the Java language and platform, as well as web-related vulnerabilities. In addition to typical errors made by Java developers, the identified security vulnerabilities encompass both language-specific issues and problems arising from the runtime environment. All vulnerabilities and corresponding attacks are demonstrated through easy-to-understand exercises, followed by recommended coding guidelines and effective mitigation techniques.
Participants attending this course will
- Grasp the core concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them
- Understand the security concepts underlying web services
- Acquire skills in utilizing 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 strategies to avoid them
- Gain insights into recent vulnerabilities affecting the Java framework
- Acquire practical knowledge in using security testing tools
- Receive resources and further reading materials on secure coding practices
Audience
Developers
Standard Java Security: Secure Coding & Development Practices
14 HoursDescription
The Java language and the Runtime Environment (JRE) were designed to be free from the most problematic common security vulnerabilities experienced in other languages, like C/C++. Yet, software developers and architects should not only know how to use the various security features of the Java environment (positive security), but should also be aware of the numerous vulnerabilities that are still relevant for Java development (negative security).
The introduction of security services is preceded with a brief overview of the foundations of cryptography, providing a common baseline for understanding the purpose and the operation of the applicable components. The use of these components is presented through several practical exercises, where participants can try out the discussed APIs for themselves.
The course also goes through and explains the most frequent and severe programming flaws of the Java language and platform, covering both the typical bugs committed by Java programmers and the language- and environment-specific issues. All vulnerabilities and the relevant attacks are demonstrated through easy-to-understand exercises, followed by the recommended coding guidelines and the possible mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security and secure coding
- Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them
- Learn to use various security features of the Java development environment
- Have a practical understanding of cryptography
- Learn about typical coding mistakes and how to avoid them
- Get information about some recent vulnerabilities in the Java framework
- Get sources and further readings on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages can compile code for the .NET and ASP.NET frameworks. While this environment offers robust tools for security development, developers must understand how to apply programming techniques at both the architectural and coding levels. This knowledge is essential for implementing desired security features while avoiding vulnerabilities or limiting their exploitation.
The primary goal of this course is to guide developers through numerous hands-on exercises. Participants will learn how to prevent untrusted code from executing privileged actions, protect resources using strong authentication and authorization mechanisms, manage remote procedure calls, handle sessions, and explore various implementation strategies for specific functionalities, among other critical skills.
The introduction to various vulnerabilities begins by highlighting typical programming errors commonly made when using .NET. The discussion on ASP.NET vulnerabilities also covers different environment settings and their impact. Furthermore, the topic of ASP.NET-specific vulnerabilities addresses not only general web application security challenges but also specialized issues and attack vectors, such as attacks targeting the ViewState or string termination exploits.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding practices
- Identify web vulnerabilities beyond the OWASP Top Ten and learn how to avoid them
- Utilize various security features within the .NET development environment
- Gain practical experience with security testing tools
- Recognize typical coding mistakes and understand how to prevent them
- Learn about recent vulnerabilities affecting .NET and ASP.NET
- Access sources and further reading materials on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThis comprehensive core training offers a deep dive into secure software design, development, and testing via the Microsoft Secure Development Lifecycle (SDL). It provides a foundational overview of SDL’s key principles, followed by design strategies aimed at identifying and rectifying vulnerabilities during the early stages of the development process.
Focusing on the development phase, the course outlines common security-related programming errors in both managed and native code environments. Participants will explore attack vectors associated with these vulnerabilities, along with corresponding mitigation techniques. The learning experience is reinforced through numerous hands-on exercises that provide practical, real-world hacking scenarios. Additionally, various security testing methods are introduced, alongside demonstrations of effective testing tools. Participants gain a clear understanding of these tools by applying them to previously discussed vulnerable codebases during practical exercises.
Key Takeaways for Participants
Grasp fundamental concepts of security, IT security, and secure coding practices
Familiarize themselves with the critical stages of the Microsoft Secure Development Lifecycle
Acquire skills in secure design and development methodologies
Understand the principles of secure implementation
Comprehend security testing methodologies
- Access resources and further reading materials on secure coding practices
Target Audience
Software Developers, IT Managers
CYBERSECURE CODER (CSC)
21 HoursThis course is designed for individuals such as software developers, testers, and architects who are involved in creating software using various programming languages and platforms, including desktop, web, cloud, and mobile. It aims to enhance their ability to produce high-quality software, with a particular emphasis on security and privacy.
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led, live course in Nigeria, participants will learn how to develop an appropriate security strategy to tackle the DevOps security challenge.
Laravel PHP Framework
14 HoursThis instructor-led, live training in Nigeria 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 Nigeria (online or onsite) is tailored for developers who want to learn and apply Livewire to build modern and dynamic application interfaces.
By the conclusion of this training, participants will be able to:
- Develop 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 Nigeria (online or onsite) is tailored for 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 into Vue.js.
- Deploy a Laravel application.
Laravel: Middleware Development
14 HoursThis instructor-led live training, available 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’s 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.