You Don’t Want Your PHP Apps to be Hacked?
Here is how to make sure it will not happen.
30,000 web apps are hacked every day. source
Yes, hacking attacks are really that common.
Of course, you don’t want your web apps to be hacked.
You don’t want to deal with all the consequences that would follow.
Just imagine having to explain the situation to the people you built the app for.
And then having to find out what has been stolen, compromised or deleted.
But most of all, you don’t want to ruin your reputation as a developer.
Because with millions of PHP developers out there, your reputation is too important to be put at risk.
But how are web apps hacked in the first place?
Hacking a website is like breaking into a building.
Intruders search for vulnerabilities in the building’s perimeter. An open window, an easy-to-pick lock, a broken fence.
When a weak point is found, it’s just a matter of breaking in with the right intrusion tools.
It’s the same with web applications.
Attackers study your app, searching for vulnerabilities.
(Yes, even from a remote location and without access to the source code).
And as they find one, they exploit it to break in and hack the app.
The more vulnerabilities your app has, the easier is for attackers to hack it.
So, how do you stop attackers from hacking your apps?
Let’s go back again to the building analogy.
To prevent intruders from breaking in, you want to check doors, locks, windows and fences. You want to make sure everything is secure, so that intruders have no way to break in.
That’s exactly what you must do with your PHP code, too.
You don’t want to leave any way in for attackers. Any open door that attackers can use.
You want to make sure that attackers cannot exploit vulnerabilities in your request inputs, Sessions, or SQL queries to hack your app.
But here is the thing:
Attackers know exactly which vulnerabilities to look for.
If you want to prevent them from hacking your app, you must make sure that none of those vulnerabilities are in your code.
- knowing which vulnerabilities you must avoid in the first place,
- and knowing how to avoid each of them.
Unfortunately, many developers fail to do that.
And this is why we have 30,000 successful hacking attacks every day.
Which brings us to the main point.
You want to make sure that your apps will not be hacked.
Which means knowing which vulnerabilities to avoid, and how to do that.
Is learning all this a difficult task?
You bet it is, if you try to learn it all by yourself.
I know, because that’s what I did, since there was nobody to teach me.
But if there is someone guiding you, that’s a completely different story.
You can save a lot of time and energy. And in the end, you will be sure to know all that you need.
And that’s exactly why I created this course.
This course teaches you how to protect your PHP apps from hacking attacks.
By the end of the course, you will know:
The specific attacks and vulnerabilities that you must prevent.
There are hundreds of different types of web attacks.
Which ones are relevant for PHP developers? Which are the ones that you need to care about?
The course covers those specific vulnerabilities, going into all the required details to clear all your doubts.
The exact defense techniques to prevent each vulnerability.
Just knowing which attacks to protect from is not very helpful.
You also need to know how to stop those attacks.
Especially because each attack requires a different defense solution (or, in some cases, a few possible solutions).
In the course you will find not only the theory, but the actual PHP code implementation too.
You can literally copy & paste the code into your own projects.
What students say about the course:
“This type of information was very difficult to figure out on my own.”
Prior to enrolling I didn’t know how to secure a site using PHP, and trying to figure out how to do so on my own was a daunting task.
This type of information was very difficult to figure out on my own via research on the web. I’m very happy this course exists, and I wish I found it sooner than I did.
One thing I particularly like about this course is the fact that I’m learning from someone who has done this stuff before. It’s not just theory in a textbook or something I have to piece together on my own.
I’ve always been a proponent of learning from someone who is doing or has done what you want to do, and I feel confident in my PHP security skills now.
“I particularly liked the step by step explanation of the examples.”
I found the course very useful and I learnt a lot. I particularly liked the step by step explanation of the examples.
Thank you for this course, you have helped me a lot. Keep up the good work.
Who is this course for?
This course is perfect for you if:
- You are a PHP developer, or a full-stack developer who also writes PHP code.
- You are aware of the importance of security for web applications, and you want to make sure that your apps are secure.
If both the above statements apply to you, then this course is for you.
This course is NOT for you if:
- You are a front-end developer only (and you are not involved in PHP development).
- You are not interested in making your web apps secure, for whatever reason.
Ready-to-use PHP code examples.
Theory and practice are equally important.
If you only cover the theory, what will you do when you’ll go back to your code editor? Will you know what to write, in practice?
On the other hand, if you just learn by looking at examples, what will you do when you will need to use those examples in a different context?
This is why this course covers the theory (a validation principle, an attack…) and provides the practical PHP code implementation as well.
You can copy & paste the code into your own projects, and use the code right away.
And if you need to adapt the code to fit your own situation, you’ll know exactly what to do.
Unlimited consulting with me.
When you enroll, you will have direct access to me through the lessons’ comments.
For 3 months after your enrollment, you can leave as many questions as you want, right in the lessons’ comments. I personally answer all questions, no exceptions.
Do you have a doubt? You are not sure about something? Just leave a comment and I will personally get back to you.
What students say about the course:
“A clear understanding that saved my time.”
I like the full and clear explanation of the topics and the tips/tricks. The course gave me a clear understanding and even a bit of experience, which further saved my time.
Alex, your course is a diamond of knowledge, the best one I’ve ever seen/read!
“Easy to follow and well explained.”
I already knew some of the techniques, but I didn’t know exactly how to implement them. The course is easy to follow and well explained.
I would definitely recommend it to other PHP developers.
What’s Unique About This Course?
Here is what happens with other courses.
You enroll, you get access to the lessons… and that’s it.
But what if you have doubts or questions? What if something is not clear, and you need to ask the teacher for advice?
Yes, some courses let you leave comments, but… good luck getting a decent answer from the teacher (or any answer at all).
This is where PHP Security Mastery stands out.
In this course, you can contact me and you are guaranteed to get an answer.
For 3 months after your enrollment, you can ask an unlimited number of questions directly through the lessons’ comments, and I’ll get back to you personally.
So you can be sure to have all your doubts cleared out.
Here’s the outline of what you’ll learn:
- Input and variable validation explained.
- How to check the type of variables.
- How to validate floats and integers.
- How to check the limits of numbers, strings, and other types.
- How to validate JSON packets.
- How to use filters and string functions.
- How to implement custom validation functions.
- How to use regular expressions as filters.
- What are blacklists and whitelists? How and when to use them?
- What to know about type casting as a validation method.
- You will learn about all the Sessions-related attacks.
- How to protect from basic Fixation attacks.
- How to protect from two-step Fixation attacks.
- How to prevent Session Hijacking.
- How to mitigate the damage from Session Hijacking.
- How to protect Sessions with one-time tokens.
- How to implement a Session access timeout.
- How to implement Virtual Sessions.
- A recap of the most important Session configuration directives.
- How do XSS attacks work?
- The difference between reflected and stored XSS attacks.
- How to prevent XSS attacks.
- The importance of HTML sanitization.
- How to sanitize URLs.
- Sanitization in nested contexts.
- Further steps.
CROSS-SITE REQUEST FORGERY (CSRF)
- What CSRF is and what you need to know about it.
- How CSRF attacks work.
- How to protect your app with anti-CSRF tokens.
- HTML and Cookie tokens: differences and uses.
- How to permit Session-based logins with samesite strict enabled.
- Custom headers tokens.
- How to implement a token timeout.
- Login CSRF attacks: what they are and how to prevent them.
- Refer and Origin headers: can you use them?
- Stateless double-check tokens.
REMOTE FILE UPLOAD
- What you need to know about file uploads and security.
- How to validate file names.
- How to validate file extensions.
- How to avoid file name collisions.
- How to increase security with forced file names.
- How to enforce file size limits (and how not to do it).
- How to validate file contents.
- What you need to know about upload locations and security.
- About database storage.
- A list of security-related PHP configuration directives and their suggested values.
- Execution control directives.
- Information exposure directives.
- Defense directives.
- Sessions-related directives.
High Value Bonus Chapters (Available with the Pro version)
The Pro version of the course includes 3 exclusive, high value bonus chapters:
Bonus Chapter 1
- About SQL Injection attacks.
- How to connect to your MySQL/MariaDB database.
- An example of destructive SQL injection attack.
- An example of data-breach SQL injection attack.
- Escaping explained.
- How to use escaping with the MySQLi extension.
- How to use escaping with the PDO extension.
- Prepared statements explained.
- How to use prepared statements with the MySQLi extension.
- How to use prepared statements with the PDO extension.
- What are Blind SQL Injections?
- What are Second Order SQL Injections?
- About database user permissions.
Bonus Chapter 2
- How to encrypt and store user passwords.
- 2-Factor authentication tutorial.
- How to control login sessions.
- Password reset tutorial.
- Limit login attempts with username-based limiting.
- Limit login attempts with IP-based limiting.
- User authentication tips.
Bonus Chapter 3
EXTRA SECURITY TIPS
- PHP exceptions and security.
- Code injection: what you need to know.
- Reverse tabnabbing: what is it?
- GET vs POST: which one is more secure?
- Type juggling and strict comparison.
- System commands and security.
- Email injections.
- About code scanners.
- Security principles to know.
Should you do this course later?
There are a few reasons you may think that you’ll need to do this course later.
Reason 1: You’re busy now and later may be better.
Ask yourself: are you really going through an exceptionally messy situation right now, and you really have less time than usual?
Most people think that there will be more time in the future.
But think about it. Do you have more time today, than say a year or a week ago?
Truth is, you are not going to have more free time in the future.
This is why NOW is the best moment to get things done.
Reason 2: You have other priorities.
This is a good reason. Except it isn’t, because it’s almost always just an excuse.
If you really have other priorities, then you should not even be here reading these words. But, hey, you are here, aren’t you?
Don’t confuse priorities with things you would like to do.
If you are not doing other things in this exact moment, then those things are not really priorities.
You are here because you know that PHP Security matters to you. Maybe this is your real priority, after all.
Reason 3: You think it is too difficult for you (and you are not up to the task).
Some “gurus” and some Hollywood movies have convinced people that hacking and anything related to web security is obscure and incredibly difficult.
Will you really be able to master such a topic?
Well, I did. And I started from zero, like anybody else.
Web security is not magic. There are absolutely no reasons why you shouldn’t be able to master it.
Can you find the same information online?
There is literally nothing that you can’t find on Google today.
But this course isn’t just about information. It’s about the final result.
It’s about having you acquire a real skill.
The information you find in the course has been selected, verified, organized, and explained with working examples.
All with the specific purpose of improving your skills without wasting your time.
And that is something you won’t get just by searching on Google.
(Not to mention the fact that you can ask me direct questions).
What students say about the course…
“I was a bit intimidated by the subject thinking it was too complex.
But the individual lessons are short and easy to digest. The code snippets are concise and comprehensible.
I have learned several tools to use against specific types of attacks, and I have already applied them to one of my applications.”
“I enrolled in the course almost as soon as I found it.
Very clear, specific, and concrete.
I appreciate the clear recommendations on certain points (e.g. setting the cookie samesite option to ‘lax’) as opposed to merely saying what the options but leaving it vague which should be used.”
“I like the simplicity and the practical examples of the course. There are few materials that explain web security in such a simple way.
I have been able to apply the concepts to an existing php application in a short time.
I would definitely recommend it.”
Frequently Asked Questions
For how long will I have access to the course?
You will have lifetime access to all the course lessons and bonus material, including future course updates.
Isn't my framework already securing my code?
Unfortunately, no. This is a common misconception. Frameworks help you organize your code, but making the code secure it’s always up to you.
Where is the course hosted?
The course is hosted on Teachable, one of the world leading online course platforms.
What if the course doesn't work for me?
Don’t worry. You can try the course risk-free.
Your enrollment is protected by Teachable 30-day guarantee.
If the course doesn’t work for you (for any reason), you’ll get all your money back.
I have another question...
I’m here to answer all your questions.
Just send me an email at: firstname.lastname@example.org
I’ll be happy to help.
Alex Handshake 30-days Guarantee.
You can try the course risk-free.
Your enrollment is protected by my Handshake 30-days guarantee.
If for any reason you don’t like the course, I’ll immediately give you all your money back and a friendly handshake.
No questions asked and no catches. Just send me an email within 30 days for a complete refund. And yes, we will still be friends 🙂