DDoS Attack and Web Application Firewall

Distributed Denial of Service (DDoS) attack is type of DoS (Denial of Service) attack. Multiple systems flood a network or server with fake requests to disrupt normal operation of targeted website. Generally, DDoS attack online originates from several compromised computers.

Distributed Denial of Service (DDoS) attack is type of DoS (Denial of Service) attack. Multiple systems flood a network or server with fake requests to disrupt normal operation of targeted website. Generally, DDoS attack online originates from several compromised computers. As fake requests are coming from different IP Addresses, you need an effective DDoS attack prevention tool to keep your business online.

We have used Web Application Firewall (WAF) to protect several websites of our clients. Most popular web application firewalls are Incapsula and Cloudflare. These services sanitize traffic to website by blocking DDoS requests. Legitimate requests are forwarded to your website. This way, your website stays online to serve your users.

Recently we came across a need to decide on which cloud based WAF (Web Application Firewall) to use for one of our clients. We needed DDoS protection at network and application layer. We considered both Incapsula and Cloudflare. We are going to talk about configuration of both services here. We have used both services and also switched from one to the other. Understanding configuration is vital before we start using any of these services.

Incapsula

DNS Changes

Incapsula provides couple of static IP addresses were you can point your domain’s A records. This means, you don’t need to change NS records of your domain. Traffic will go to your hosting provider and then it will be routed to Incapsula. Incapsula will check and sanitize traffic as required and then send it back to your server.

You need to provide IP of your server as “Origin Server” in Incapsula. In my case we were using load balancer (AWS ELB), so we entered DNS of load balancer as origin server.

                                    

                                            Traffic flow diagram with Incapsula

 

If you are looking at protecting your HTTP traffic, you don’t need to change any other DNS entries of your domain. This way starting with Incapsula is very easy.

Reverse Proxy

By default, return traffic from website to client browser is sent directly. You can request Incapsula to work as Reverse Proxy also. So that return traffic is also routed via Incapsula. Reverse Proxy hides your server IP from public and attacker. We have recently seen that sometimes attackers target your website using origin IP addresses of your server or load balancer to bypass WAF. Reverse proxy is good option to prevent this type of attacks.

Turning off Incapsula temporarily

You can go to Websites page in Incapsula and select “Disable” option from more menu. If you are using Incapsula provided SSL Certificate, you must have SSL Certificate installed on your server. Otherwise, your customers will start seeing SSL Certificate errors in their browsers.

RTE Editors

Relatively small issue, but if you have RTE editors in administration panel of your website, Incapsula can block post requests as they contain HTML tags. You can whitelist your IP address in Incapsula to prevent this. If you are on dynamic IP, this can be bit annoying.

Cloudflare

DNS Changes

We needed to change NS entries of domain to route traffic via Cloudflare. We changed them from domain hosting provider. We also needed to transfer ALL our DNS entries like A records, MX entry, and other CNAME or TEXT entries we had for domain validation, SMTP, VoIP and VPN services. Good thing is when we added domain to Cloudflare, it automatically detected and added most of DNS entries automatically. We had to enter remaining few entries manually.

As we can’t have ELB DNS as A record, we added CNAME records for root domain and “www” subdomain pointing to ELB DNS.

                                              Traffic flow diagram with Cloudflare                       

Reverse Proxy

Cloudflare by default acts as reverse proxy to domain. So response form from web server goes to Cloudflare first and then it is passed back to client browsers. This way, your server IPs are not exposed to public or attackers.

Turning off Cloudflare temporarily

We had a live streaming event on website, so we wanted to check if we can bypass Cloudflare if required. We didn’t want lot of our customers to see captcha challenges. There are two possible options we found.

Security level – By default security level is set at “Medium”. we had the option of reducing it to “Essentially Off”.

Pausing Cloudflare – There is an option to pause Cloudflare so that traffic is sent directly to web servers. It takes few minutes before traffic starts going directly to your servers. It turns off all Cloudflare services including SSL. If you are using Cloudflare provided SSL Certificate, you must have SSL Certificate installed on your server. Otherwise, your customers will start seeing SSL Certificate errors in their browsers.

RTE Editors

Cloudflare sends a Captcha challenge when you submit a form containing RTE editor (HTML tags). Once you pass captcha, your form will be submitted successfully.

MVVM – A new chapter in mobile development!

MVVM – A new chapter in mobile development!
In simple words, design pattern is all about solving problems in software development process that “WE” developers face from time to time. Design patterns are incredibly useful, no matter which language or platform you develop for. Every developer should know how to implement them, and most importantly, when to apply them.

What is MVVM ?

Short answer, it is a design pattern.

What is design pattern ?

In simple words, design pattern is all about solving problems in software development process that “WE” developers face from time to time.

Design patterns are incredibly useful, no matter which language or platform you develop for. Every developer should know how to implement them, and most importantly, when to apply them.

When to apply MVVM ?

It is a little long story… 👂

A few years ago at IndaPoint, for the mobile app development, we were doing almost a linear programming. There was nothing bad in that. It was all looking correct. It was fine for small apps. But…few apps was growing day and nights. Even before we realize it became too big then we ever expected.

We started facing a problems which were not so noticeable before:

  • A feature request comes from a very old code. Implementing that new feature breaks something working already.
  • Developers come and go. A new dev implements something which breaks something existing because one was not aware with in-outs and all the existing features of a big product.
  • QA was require to cover more areas than one should be just to make sure everything existing working correctly, along with new feature.

We discussed this amongst us and then concluded that the code (yes, code. Not talking about the app) now is required to be testable. “Write Unit Tests” was the call we made!

Cool, then…

When we started to find a solution, we ran into another problem. The code was not testable. Not testable at all. The “good old” linear programming was good, until unit testing was not required. When we wanted to test business logic, other app specific things were keeping us away from what we wanted to test.

We then decided that let’s separate out business logic from app specific code. We came to know that there is a design pattern available which can help with this situation.

“MVP – Model View Presenter”

What is MVP design pattern ?

It has basically 3 components: Model, View and Presenter. Refer following picture to understand it better.

User interacts with View. View is not aware of what to do on that interaction. So it notifies the presenter about that interactions.

Presenter is a manager(The Boss!) here. It knows everything: what to do, when to do. It takes help of model class to get things done.

Model classes are nothing but the servants who provide service whenever they are asked.

When the desired work is done using model, presenter notifies views to show the result to the user.

Presenter holds the reference of View and Model. So that it can communicate with View and Model whenever required.

That’s how we managed to separate out business logic and app specific view related code. Now only thing we need to test here is Model – because it is the only one holding business logic. ✌️

Great! What about MVVM now?

It went well for couple of years. But then we realized that only testing business logic is not enough. We need to test few view specific things as well. For example, what error message user will see in some scenarios. Is progress bar visible to user for this long running task etc…

We were not able to test those using MVP. Only testable component there was Model – The business logic holder. 😟

Then comes MVVM!

MVVM – Model, View & ViewModel.

Picture please…😐

Same as MVP, when interaction happen with a View, it knows nothing. So it notifies ViewModel.

ViewModel is a manager here. It knows everything: what to do, when to do. It takes help of model class to get things done.

That sounds very familiar..!!

Oh my god, it is same as MVP. Just presenter has been replaced by ViewModel.

BTW, what is ViewModel ?

ViewModel is just good old model, but holding state and behaviour related to view. I said, state and behaviour related to views, not actual views.

There comes a difference between Presenter and ViewModel: In MVP except model, there were app specific code in Views and Presenter was holding a reference of Views.

ViewModel is not holding any reference of View. ViewModel is completely unaware of View. It is just holding the state and behavior.

It just holds the data that “when this happen, that should happen on a view”. Nothing more than that. It doesn’t even care if that is happening already or not. Whenever any state of a ViewModel changes, it broadcasts an event without knowing who might be listening.

When the app is running, View is the one who is interested in those events and update the elements accordingly.

When we want to test, we can test ViewModel to make sure behavior of the app is as expected or not.

So we were now able to test business logic using Models and View related business logic using ViewModels. 🎉

That’s where we’re at the moment and using this design pattern extensively for all our mobile app development at Indapoint.

 

Stressless Devs -> Satisfied Clients

🙏

 

We are specialize in WordPress, .Net, Core PHP Web Development along with Mobile App Development

We not only specialize in Web Application Development but also Mobile App Development as well. Our experience in this field is tremendous as we have worked on several projects related to this before. Not only that, our company is officially certified, and we garner a good reputation amongst customers. Prices are also not an issue since we offer bargains for anyone. Cross plat forming is also not an issue with us.

What can you expect from your specializations in web development?

Coming across a company which specializes in the development of different fields is very rare. However, our services provide exactly that. Here are some of the fields we develop in and why you should take a good look at our credentials.

Website Design

  • Uniqueness: Our uniqueness lies in the fact that our company is capable of providing your company with global exposure like no other. You will get a boost in power like nowhere else, offering an immediate attraction to a visitor’s eye.
  • Compatibility: One thing that any person should look for in such a company is the capability to provide compatibility with all if not most of the browsers in the market. We definitely know how to do that.
  • Optimization: Optimizing your website with the right SEO content and tools is also something you will get from our services. This is an important aspect of every website since it is responsible for deciding the popularity of your website on the internet.

Word-Press Web Service

Word Press is without question the best CMS (Content Management System) that is available for use. As such, we provide you with various plug-ins for use.

  • Secure and Accessible Contact: This is responsible for allowing the readers to make contact with you without them having to give you’re their emails or any form of contact.
  • WP-Email: This is a plug-in which enables the reader to email a certain page to whomsoever they desire. After all, sharing is caring.
  • Akismet: This is the most useful plug-in for Word Press since it significantly reduces the amount of spam under every comment section.

.Net Development

The reason why it is so popular in the world is because of the fact that it is highly systemized in nature. Thus, developing something is extremely effective and standardized compared to using something else. We specialize in this field as well. As such, you can benefit a lot from our services should you need it.

Mobile Apps

We not only specialize in Web Application Development but also Mobile App Development as well. Our experience in this field is tremendous as we have worked on several projects related to this before. Not only that, our company is officially certified, and we garner a good reputation amongst customers. Prices are also not an issue since we offer bargains for anyone. Cross plat forming is also not an issue with us.

Enabling Collaborative App Development Opens Your Business

Mobile application development tools are famous among all the developers because they are helpful for all needs. These tools let you make any kind of app and help you to make the changes in the software so that you can customize according to the needs of the customer. The many things you see in any application and the features are a very important gift of the tools and software used in the application. There are many things possible with a simple but efficient tool.

Enabling collaborative app development opens your business in app development

Mobile apps development is the new all carrier option for the youngsters. Everyone you can find the new apps developing day by day. No doubt apps have made the world easier and much better but what is there behind every step for an app. You enjoy all kinds of an app like the gaming, news, calculation and much more. But all these require many things small things in the background.

Android development on the way

The mobile application development software helps you to enjoy everything that you want. The software you will get for the app development is very easy to understand and get working with them. You may have a list of application development software out on the web whenever you want any help with the application development. The era of smartphones and the applications depend on the iOS application development.

  • Alpha anywhere
  • App press
  • EachSacpe
  • iBuildApp
  • Quick Base

More to grab

There are many application development companies all over the world which give you the chance to make and get any application you want. The many companies spread all over the world are flourishing because of the iOS. The companies have demand for people who know about android and development and can successfully create an app that has the power to take over the world. The new world of applications is all you need to get into.

Different mobile apps development platforms and its relevance

The application developers are likely to consider the different hardware configurations, specifications and screen sizes for there is a tight competition in this field. The mobile application development tools are divided into two basic types, such as front-end development tools and back-end development tools. The front end tools are basically focused on the user interface as well as user experience. The back-end development tools normally pick up right where front-end development tools leave off.

Mobile technology has created revolution in the web based development methods

What is mobile apps development?

Mobile apps development is known to be a well-known term which is used to denote the process that helps to develop the application software for the mobile device.  The application developers are likely to consider the different hardware configurations, specifications and screen sizes for there is a tight competition in this field.

Necessity of a good mobile app development company

You are required to go for a good mo bile app development company to develop a quality app. If you do this, then you are supposed to save your valuable money and time. There are many quality and well-known mobile application development companies available out there. There are some advantages of going with a good professional company, such as,

  • Professional and experienced developers are there.
  • The developers will incorporate the essential and required features.
  • They realize the purpose of the development and thus have the perfect solution.
  • Provide you with the standard development

Different app development platforms

In order to create a mobile app, the developers need some app development platforms. Platform organizations are required to deploy, develop and thus manage mobile applications made from different tools and components that generally allow the developers to create, test as well as deploy apps into platform destination environment.

All the mobile apps are made on some kinds of platforms. There are many mobile application development platforms available. Some of the well-known mobile app platforms are

  • PhoneGap
  • Whoop
  • Appcelerator
  • Kony
  • TheAppBuilder

Each of the mobile application development software has its own advantages and disadvantages. Apart from above described platforms, there are some other platforms, such as Appery.io, Mobile Roadie, Good Barber, Appy Pie, App Machine, Game Salad, BiznessApps, AppMakr, ShoutEm, etc.

Apart from all these, the mobile application development tools are also divided into two basic types, such as front-end development tools and back-end development tools. The front end tools are basically focused on the user interface as well as user experience. It is there to provide some abilities, such as,

  • SDKs to access the device features
  • UI design tools
  • The cross-platform support/accommodations

On the other hand, the back-end development tools normally pick up right where front-end development tools leave off. They are likely to provide some services which are basically managed as well as controlled and thus provide some abilities, such as,

  • User authorization-authentication
  • Integration with the back-end systems
  • The reusable business logic
  • Data services

Complement Mobile App Development Providers in California, US

There are many tools and software present which can help anyone to build a new application and work on it according to what the customer needs. The applications developed for the smartphones are installed in them at the time of manufacturing. Once the mobile apps development is complete, it has to be tested before hand over to the users. The testing of any application is done by many tools, and every tool is platform specific.

Complement mobile app development providers in California, the US with your knowledge

The mobile application development is the new rising sun for the people who want to explore something new in the field of technology and designing. There are many tools and software present which can help anyone to build a new application and work on it according to what the customer needs. The applications developed for the smartphones are installed in them at the time of manufacturing. These are the per-installed applications on your smartphones.

Android apps development for fast use

One cannot work on laptops all the time to access the websites, and you need some shortcut for them when you have something urgent or in a hurry. This is where the android application development came into the picture. You may not feel the need all time but at some point of time, these become important and with the increasing dependencies on smartphones these applications are must required. For creating an application, you need many tools and the platforms where these all will function properly.

The many platforms one can have to develop any application include the following:

  • Como
  • Dojo mobiles
  • Game salad
  • Good barber
  • jQuery mobile

    Develop an application

    An android apps development requires many things while the developers are working on it. The small things which form the basis of application development are the tools used and the platform on which the application is based. These preliminary requirements decide the design and functionality of the application being designed. The mobile application developer has to keep a check on various parameters like the screen size, location of the user, platform of the mobile and android version in the system are some of the major parameters to be considered by the developer.

    There are many back-end services and processes which make the working of an app successful. These back-end processes have to be understood to provide a clear view of working on any application. The front end developing tools, the back end servers, and security add-on are a must for any application. The application developer has to work on all the above and make synchronization among them for the successful launch of any application.

    Once the mobile apps development is complete, it has to be tested before hand over to the users. The testing of any application is done by many tools, and every tool is platform specific. You must have the complete knowledge of the platform and the respective testing tool for testing the application properly.

Leader in handcrafted website design and development including branding and customization

Hiring the leader in the industry is likely to give your online business the much needed boost. Handcrafted Web Design and Web Development tend to serve as a lucrative and efficient web solution for businesses globally. Ranging from excellent professional support to unique Website Design, the customized site can help the business to grow optimally. Hiring the best development and designing company can help your online business to great heights.

Leader in handcrafted website design and development including branding and customization

Handcrafted Web Design and Web Development tend to serve as a lucrative and efficient web solution for businesses globally. Ranging from excellent professional support to unique Website Design, the customized site can help the business to grow optimally.

Hiring the leader in handcrafted site design and development for promoting the business

When it comes to promoting your business over the web, you should try to hire agencies that are able to offer your business with an intriguing and unique site design with top notch functionalities. Although there are found easily thousands of appealing templates and robust designs that might appear to be appropriate and feasible at first glance and available for free or for a small fee, when it comes to online business promotion, customization services offered by the best designing and development companies cannot be neglected or avoided. The reason is because, ready-made templates cannot live up to the expectations of the business and your targeted clients.

Therefore, hiring the leader in the industry is likely to give your online business the much needed boost.

Why go for customized web designing, development and branding services?

Custom designing and development does allow you to have your site personalized precisely when and how you desire it. No wonder, customized development services are fast becoming popular among businesses all over the world.

Knowing the reasons for getting customized services.

  • Being SEO friendly: It is only a professional company that can help with custom designing and development to increase the chances of ranking few top pages in the leading search engine results. Customized sites are tailor-made for suiting specific business and web needs and hence, well suited for web marketing.
  • Effective branding: Majority of the time, it has been noticed that having the brand poured into generic template tends to backfire. However, developing the site around the brand is likely to provide sufficient room for promotion and branding. The custom site is sure to fit the brand properly and also be efficiently used for promoting the services and products.
  • Availing professional assistance: While availing customized development services, you can get access to the experienced, talented and knowledgeable developers and designers. Moreover, by hiring reputable and steadfast firm, you are sure to anticipate 24/7 assistance and ongoing support from the professionals across various phases of the project.

         Hiring the best development and designing company can help your online business to great heights.

Create an Exceptional Customer Journey With Your Website

While designing a site, page speed is to be considered. The site needs to load much faster on both mobile devices and desktop. In case, it is found to be slow, then the visitors are sure to leave before the site opens up. Slow loading sites are generally developed on themes, having numerous plugins associated with it.

Create an Exceptional Customer Journey With Your Website

Gone are the days, when entrepreneurs used to make simple websites filled with information about their business and have it go live on the web. But with millions of similar sites on the web, competition has enhanced manifolds. Moreover, net users have become much smarter and understand that they can get crucial information over the web and can shop from the sites from the convenience of their home or on the move, using various gadgets and devices. Whatever be it, there is a need for entrepreneurs to ensure that they come up with sophisticated Website Design and Web Development to lure their potential customers and to make profits.

Importance of user experience when developing site design

UX or user experience is regarded to be a vital factor and hence, is to be taken into account while designing a site. In case, the site is wrong, then the visitors would not find it interesting and may leave for moving towards the competitor sites. This would mean loss of traffic and subsequent revenue for the business.

Things to consider when taking into account Web Design and development

While designing a site, page speed is to be considered. The site needs to load much faster on both mobile devices and desktop. In case, it is found to be slow, then the visitors are sure to leave before the site opens up. Slow loading sites are generally developed on themes, having numerous plugins associated with it.  Many amateur developers perform this without having any idea of what is being done. Some might offer cheaper packages, as they would be making use of similar theme repeatedly, allowing them to have the website to be made fast, which may appear fine. However, behind the scenes, the site might run very slowly like a slug.

Navigation is another aspect to consider. For better user experience, it needs to be user friendly, stand out and display crucial pages. If not, then the users are likely to struggle in navigating the site, providing bad user experience.

In case, products are being sold through the website, then user experience is not to be ignored or missed out, since e-commerce sites are regarded to be the highest offending websites derivable. Slight changes could actually make huge difference to the bottom line.

The fact is that user experience does count a lot, when developing a site and ignoring it would only mean loss for the business. Therefore, an exceptional customer journey is to be created with the website, which is better done by the talented designing and development professionals.

How the website users know how to scroll and they expect to scroll

These days the Web Development had brought out the concept of the fold, so as to attract readers. An efficient Content Management System can give you a huge number of customer or followers. As the length of the page increases, the number of words also increases and this provides better SEO ranking. For this reason, there is a very popular concept known as the fold.

How the website users know how to scroll and they expect to scroll?

No matter what website you are designing, be sure that the users are going to scroll. Scrolling is good since it gives your viewers a complete idea of what you want to convey. It is seen that, if you have a lengthy content, then it’s better to put the content in one page than to provide links to other pages. People are always more comfortable to scroll than to open another page to read your content. These days the Web Development had brought out the concept of the fold, so as to attract readers.

Why is it so important?

Your website content is the only things which can impress your viewers to buy your services, or to like your work. An efficient Content Management System can give you a huge number of customer or followers. As the length of the page increases, the number of words also increases and this provides better SEO ranking. For this reason, there is a very popular concept known as the fold.

What is the importance of fold?

There are multiple websites where the Web Design has folded content. The fold is dividing the screen into two parts. The portion above the fold is the area where the user can see anything without scrolling. The fold can appear different for different users. This concept is vanishing because there are too many devices where it is very hard to consider fold line. But a concept of the fold can be attractive to get a first impression about your site. Make sure that your page is ended by a link so that the user knows where to go next.

How to encourage the users to scroll your website?

People have an inherent quality to scroll. So the Website Design must be such that so that users will feel excited to scroll down. The following are the common ways, by which you can encourage the users to scroll your content.

  • A horizontal line or bar just near the fold is considered many times, as the end of the page. So, try to avoid, these bars of lines in your content. This concept is known as a false
  • The use a background on top and sides of the pages, with contrasting colors is very popular among viewers. It also gives an idea the continuity of the main page.
  • Website Design Services also allows you to add; please scroll quotes just above the fold line.

Fueled by a flood of data traffic from mobile communications

Mobile application development companies have revolutionized the whole commercial field. Fueled by a flood of data traffic from mobile communication has drawn consumer and flourish your business.

Growth in the business with flooding mobile data traffic

Mobile apps development has increased the data usage to a great extent. Today mobile phones are not only used for calling purposes. The word mobile connectivity has gained a new definition.

Mobile application development software- Renaissance in business strategy

Mobile technology has gone more than just a source of connectivity to your friends and families. Android mobile application development has revolutionized the whole business strategy.

  • Through a mobile application, you can directly reach your customers
  • Not only customers, but mobile application is also a good platform to get hold of the new business clients
  • By mobile application you can showcase your business house to everyone; thus it is a good way of advertisement

How streaming videos benefit your business-house

Android application development has paved ways to expand your business ideas. The not only introduction of different apps has made it easy for consumers to reach their desired commercial zone, but sharing of videos has a great contribution to in the business development.

Streaming videos are a very good way of advertising your new or existing products. For example, if you share videos on social media sites like Facebook, you tube or other sites it will prove to be a very easy and good way to connect to your targeted consumer.

Average number of customers using mobile apps

A study shows that in the US about 51% people prefer to use mobile data. Only 42% of the people still use their PC. About 60 percent of people use mobile data for video sharing. Sharing of videos is not only limited to youths but people aged between 45 years to 54 years spent at least 15 minutes on average per day sharing videos. Thus reaching consumers of all ages has become easier with mobile application development.

New ways to reach customers with mobile apps

There are several ways to reach customer through a mobile app. Here are a few examples which can help you to draw traffic to your sites.

  • You can include locator in your app. This provision can draw customers even from distant places. It will increase your customer strengths
  • Including payment mode on your site. If you are dealing with customers’ products it is better to include payment mode in your site from where consumers can order their requirement