In this article we are going to see why we should know about this attack, what is this attack exactly, perform a simple CSRF attack to know how it works, and finally how we can protect our application against CSRF attacks.

Why we should know about CSRF attacks?

Before starting to see what is this attack we…


Load test using k6

What is load testing?

A load test is a type of software testing which is conducted to understand the behavior of the application under a specific expected load. Load testing is performed to determine a system’s behavior under both normal and at peak conditions(reference).

If you are not familiar with this type of test…


HTTP Parameter Pollution or HPP in short is a vulnerability that occurs due to passing of multiple parameters having the same name.

Parameter Pollution

What is Parameter Pollution?

HTTP Parameter Pollution or HPP in short is a vulnerability that occurs due to passing of multiple parameters having same name. …


Decorators in Typescript

What is a Decorator?

It is a structural design pattern that lets you attach new behaviors to objects by placing these objects inside special wrapper objects that contain the behaviors (reference).

When we are using Typescript Method Decorators, they are higher-order functions that help us change method behavior or do something with the arguments.


Adapter design translates one interface to another

In this post, we are going to learn the adapter design pattern and the usage of this design pattern.

Adapter design pattern
Adapter Design Pattern

The adapter design pattern is a structural design pattern.

Structural design patterns are concerned with how classes and objects can be composed, to form larger structures.

Adapter Design Pattern Definition

Based on GoF The Adapter…


In this post, we are going to learn the observer pattern and the usage of this design pattern.

Observer Design Pattern
Observer Design Pattern

Observer Design Pattern Definition

According to the GoF definition, observer pattern defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. …


This is a summary of a few articles that you can find in the reference part.

0. Build and Test — Before Code Review

Use CI tools to check If tests are passing and the app can be built before starting the review process.

1. Use A Code Review Tool

Using these tools can save a lot of time. These tools can highlight changes…


Authenticate Users with LinkedIn — NodeJS — Express
Step by step Guide to Authenticate Users with LinkedIn in your Express App

A few days ago I wanted to test the authentication using LinkedIn and there was no straight forward article to help me. So I decided to note down the steps in this article and I hope it would be helpful.

LinkedIn can be one of the Identity Providers of your…


First time using Deno

What is Deno?

A secure runtime for JavaScript and TypeScript.
Based on their website:
Deno is a simple, modern, and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.

  1. Secure by default. No file, network, or environment access, unless explicitly enabled.
  2. Supports TypeScript out of the box.
  3. Ships…


Testing NodeJS Express App
NodeJS Express Integration Test

What is an integration test?

“ Integration tests determine if independently developed units of software work correctly when they are connected to each other. The term has become blurred even by the diffuse standards of the software industry, so I’ve been wary of using it in my writing. In particular, many people assume integration tests…

Poorshad Shaddel

Full Stack Developer at Telewebion.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store