Secure coding in PHP Training Course
This course equips PHP developers with the essential skills needed to build applications that are resilient against modern internet-based threats. We explore web vulnerabilities through PHP examples, extending beyond the OWASP Top Ten to cover a wide range of issues, including various injection attacks, script injections, weaknesses in PHP session handling, insecure direct object references, file upload vulnerabilities, 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 issues. For the latter, we examine attacks like open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. In every scenario, participants will learn the key techniques and functions required to mitigate these risks.
A special emphasis is placed on client-side security, addressing security concerns related to JavaScript, Ajax, and HTML5. We introduce several PHP extensions for security purposes, 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 provided in the context of PHP configuration (php.ini), Apache, and general server settings. Finally, we provide an overview of various security testing tools and techniques that developers and testers can utilize, including security scanners, penetration testing and exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the introduction of vulnerabilities and the configuration practices are supported by 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
- Grasp fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them
- Gain insight into client-side vulnerabilities and secure coding practices
- Develop a practical understanding of cryptography
- Learn to utilize various security features within PHP
- Identify typical coding mistakes and learn 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 reading on secure coding practices
Audience
Developers
This course is available as onsite live training in Brazil 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 HoursUpon completion of this training, participants will be equipped to:
- Articulate the principles of application security and potential vulnerabilities
- Outline ABAP programming best practices, including the proper handling of SY-SUBRC
- Gain a deep understanding of injection vulnerabilities
- Identify and utilize security testing tools
- Explain the functionality of ATC and CVA
Course Format
- Interactive lectures and discussions.
- Extensive exercises and practical practice.
- Hands-on implementation within a live-lab environment.
AdaBoost Python for Machine Learning
14 HoursThis instructor-led live training in Brazil (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.
Android Security
14 HoursAndroid serves as an open platform for mobile devices, including smartphones and tablets. While it offers a wide range of security features to facilitate the development of secure software, it also lacks certain security aspects found in other handheld platforms. This course provides a thorough overview of these features, highlighting critical shortcomings related to the underlying Linux system, file structure, and general environment, as well as issues concerning permissions and other Android software development components.
Typical security pitfalls and vulnerabilities are detailed for both native code and Java applications, accompanied by recommendations and best practices to avoid and mitigate them. Many of the discussed issues are illustrated with real-life examples and case studies. Finally, we provide a brief overview on how to utilize security testing tools to uncover security-related programming bugs.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about Android's security solutions
- Learn to utilize various security features of the Android platform
- Gain information about recent Java vulnerabilities on Android
- Learn about common coding mistakes and how to avoid them
- Gain an understanding of native code vulnerabilities on Android
- Realize the severe consequences of insecure buffer handling in native code
- Understand architectural protection techniques and their weaknesses
- Access sources and further readings on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursDeveloping a secure networked application can be challenging, even for developers familiar with cryptographic building blocks like 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—secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also addresses common threats that compromise these requirements and presents real-world solutions.
As cryptography is central to network security, the course covers key algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on complex mathematics, these topics are explored from a developer’s perspective, featuring typical use-case examples and practical considerations such as public key infrastructures. The course introduces security protocols used in secure communication, offering an in-depth look at widely adopted protocol families like IPsec and SSL/TLS.
Common cryptographic vulnerabilities are discussed, covering issues related to specific algorithms and protocols such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each problem, the course outlines practical implications and potential consequences without delving into deep mathematical details.
Finally, recognizing the centrality of XML technology in data exchange for networked applications, the course examines the security aspects of XML. This includes the use of XML in web services and SOAP messages, along with protection mechanisms like XML Signature and XML Encryption. It also addresses weaknesses in these protections 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
- Comprehend the requirements of secure communication
- Learn about network attacks and defenses across different OSI layers
- Gain practical knowledge of cryptography
- Understand essential security protocols
- Learn about recent attacks against cryptosystems
- Receive information on recent related vulnerabilities
- Grasp security concepts for web services
- Access resources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursThis three-day course addresses the fundamentals of protecting C/C++ code from malicious actors who may exploit vulnerabilities related to memory management and input handling. The curriculum emphasizes the core principles of writing secure code.
Advanced Java Security
21 HoursEven seasoned Java developers often do not fully master the diverse security services available in Java, nor are they always aware of the vulnerabilities that impact web applications built with Java.
In addition to introducing the security components of Standard Java Edition, this course addresses security concerns within Java Enterprise Edition (JEE) and web services. The discussion of specific services begins with the fundamentals of cryptography and secure communication. Through a series of exercises, participants will explore both declarative and programmatic security techniques in JEE, as well as transport-layer and end-to-end security for web services. Practical exercises demonstrate the use of all components, allowing participants to experiment with the discussed APIs and tools firsthand.
The course also examines the most common and critical programming flaws in the Java language and platform, along with web-related vulnerabilities. Beyond typical errors made by Java programmers, the security vulnerabilities covered include language-specific issues and problems arising from the runtime environment. All vulnerabilities and relevant attacks are demonstrated through clear, easy-to-understand exercises, followed by recommended coding guidelines and potential mitigation strategies.
Participants attending this course will
- Grasp the basic 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
- Master the use of various security features in the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions provided by Java EE
- Learn to identify typical coding mistakes and how to avoid them
- Receive information on recent vulnerabilities within the Java framework
- Acquire practical experience using security testing tools
- Obtain resources and further reading materials on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
While the Java language and its Runtime Environment (JRE) were engineered to avoid the prevalent security vulnerabilities often found in languages like C and C++, developers and architects must go beyond merely leveraging the positive security features of the Java ecosystem. They also need to be fully cognizant of the significant negative security risks that remain relevant to Java development.
The course begins by establishing a solid baseline for understanding cryptographic principles, which serves as the foundation for grasping the purpose and functionality of the security components. Through a series of hands-on exercises, participants will actively experiment with the discussed APIs to gain practical experience.
Additionally, the curriculum thoroughly examines and explains the most common and critical programming flaws within the Java language and platform. This includes typical errors made by Java developers as well as issues specific to the language and its environment. Each vulnerability and corresponding attack vector is illustrated through accessible exercises, followed by recommended coding standards and effective mitigation strategies.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding practices
- Explore web vulnerabilities extending beyond the OWASP Top Ten and learn how to prevent them
- Master the utilization of various security features within the Java development environment
- Gain a practical understanding of cryptography
- Identify common coding mistakes and learn how to avoid them
- Learn about recent vulnerabilities affecting the Java framework
- Access resources and further reading materials 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 security development capabilities, developers must understand how to apply architecture-level and coding-level techniques to implement desired security features, prevent vulnerabilities, and mitigate their exploitation.
This course aims to equip developers with the skills to prevent untrusted code from executing privileged actions, safeguard resources through strong authentication and authorization, manage remote procedure calls and sessions, and explore various implementation strategies through extensive hands-on exercises.
The course introduces various vulnerabilities by highlighting common programming issues in .NET development. It also examines ASP.NET vulnerabilities, including the impact of different environment settings. Additionally, it covers ASP.NET-specific security challenges, such as ViewState attacks and string termination attacks, alongside broader web application security concerns.
Participants in this course will
- Grasp the 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 the various security features available in the .NET development environment
- Acquire practical experience with security testing tools
- Recognize typical coding errors and understand how to prevent them
- Stay informed about recent vulnerabilities in .NET and ASP.NET
- Access resources and further reading materials on secure coding practices
Audience
Developers
The Secure Coding Landscape
14 HoursThis course introduces fundamental security concepts, providing a broad perspective on the nature of vulnerabilities irrespective of programming languages or platforms used. It explains how to manage risks related to software security across the various phases of the software development lifecycle. Without diving too deep into technical specifics, it highlights some of the most critical and prevalent vulnerabilities across different software development technologies. Additionally, it outlines the challenges associated with security testing, offering techniques and tools to help identify existing issues in your code.
Participants attending this course will
- Grasp the basic concepts of security, IT security, and secure coding.
- Gain an understanding of web vulnerabilities affecting both the server and client sides.
- Recognize the severe consequences of improper buffer handling.
- Learn about recent vulnerabilities found in development environments and frameworks.
- Identify typical coding mistakes and learn how to avoid them.
- Understand various approaches and methodologies for security testing.
Audience
Managers
Microsoft SDL Core
14 HoursThis comprehensive SDL core training offers a deep dive into secure software design, development, and testing methodologies via the Microsoft Secure Development Lifecycle (SDL). It begins with a foundational Level 100 overview of the essential building blocks of SDL, progressing to design techniques aimed at identifying and remedying flaws during the early stages of the development process.
Focusing on the development phase, the course examines common security-related programming bugs in both managed and native code. It presents attack vectors associated with these vulnerabilities alongside corresponding mitigation strategies, all illustrated through hands-on exercises that provide participants with practical, live hacking experience. The training then introduces various security testing methods and demonstrates the effectiveness of different testing tools. Participants gain insight into how these tools operate by applying them to previously discussed vulnerable code through practical exercises.
Participants attending this course will
Grasp fundamental concepts of security, IT security, and secure coding.
Become familiar with the essential steps of the Microsoft Secure Development Lifecycle.
Learn secure design and development practices.
Understand principles of secure implementation.
Comprehend security testing methodology.
- Access resources and further readings on secure coding practices.
Audience
Developers, Managers
Security Testing
14 HoursHaving gained an understanding of vulnerabilities and attack vectors, participants will explore the overarching approach and methodology for security testing, along with the techniques used to uncover specific weaknesses. Effective security testing begins with information gathering regarding the system under test (ToC, or Target of Evaluation). A comprehensive threat modeling process should then identify and rate all potential threats, leading to the development of a risk analysis-driven test plan that is best suited to the situation.
Security evaluations can occur at various stages of the Software Development Life Cycle (SDLC). Consequently, this course covers design reviews, code reviews, reconnaissance, and information gathering about the system, as well as testing the implementation and hardening the environment for secure deployment. Detailed instruction is provided on numerous security testing techniques, including taint analysis, heuristic-based code review, static code analysis, dynamic web vulnerability testing, and fuzzing. A variety of tools designed to automate the security evaluation of software products are introduced, supported by hands-on exercises where participants execute these tools to analyze previously discussed vulnerable code. Additionally, real-life case studies are used to deepen the understanding of various vulnerabilities.
This course equips testers and QA professionals to effectively plan and precisely execute security tests, select and utilize the most suitable tools and techniques to detect even subtle security flaws, and acquire essential practical skills that can be immediately applied in their daily work.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding
- Gain knowledge of web vulnerabilities beyond the OWASP Top Ten and learn how to avoid them
- Understand client-side vulnerabilities and secure coding practices
- Comprehend security testing approaches and methodologies
- Acquire practical experience in using security testing techniques and tools
- Access resources and further readings on secure coding practices
Audience
Developers, Testers
Laravel PHP Framework
14 HoursThis instructor-led, live training in Brazil introduces the fundamental concepts of Laravel and guides participants through the process of creating a Laravel-based web application.
Laravel Livewire
7 HoursThis instructor-led live training, located in Brazil (available online or onsite), targets developers eager to learn and apply Livewire for creating modern, 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 Brazil (online or on-site) 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, offered online or onsite, is targeted 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 Artisan tool to generate code and components.
- Build RESTful APIs in Laravel that support browsing, reading, editing, adding, and deleting.
- Filter and sort results based on URL parameters using RESTful APIs.