diff --git a/nodeJS/final_project/advanced_topics.md b/nodeJS/final_project/advanced_topics.md new file mode 100644 index 00000000000..b8aa55eaeba --- /dev/null +++ b/nodeJS/final_project/advanced_topics.md @@ -0,0 +1,72 @@ +### Introduction + +As you work on more sophisticated web applications, there are some further concepts that might be good for you to be aware of, which we've left until now to avoid rabbit holes. In this lesson, we'll briefly talk about some of them along with possible ways to incorporate them into your Express applications. + +### Lesson overview + +This section contains a general overview of topics that you will learn in this lesson. + +- Content Security Policy. +- Logging. +- Internationalisation. +- Cross-Site Request Forgery. +- Rate limiting. + +### Content Security Policy + +Depending on the app you are building, chances are you might want to limit what kind of resources are allowed on it. [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP) is a feature that allows you to restrict what resources are loaded on your pages. This is important because it can prevent a few common vulnerabilities: + +- **Cross-site scripting (XSS)**: The most common reason why you would want to employ a CSP. By restricting how JavaScript could be loaded and/or injected into your app, you can protect your app and your clients. +- **Clickjacking**: Attackers could also embed certain HTML elements (such as an `