Latest Blogs

Application Modernization

Arpatech Website

Jan 10, 2025

Artificial Intelligence in Application Modernization: Key Benefits and Real-World Applications

In this digital transformation era, businesses face the constant challenge of keeping their applications relevant, efficient, and scalable. Legacy systems, while critical to operations, often become congested and hinder innovation and agility.   Application modernization is the solution, enabling organizations...

Read More...

Blog Directory

Looming PHP 7 & Its Effect on WordPress

Looming PHP 7 & Its Effect on WordPress

It is no more a secret anymore that PHP 7 has gained a lot of popularity, more than its previous versions. There are some questions which arise while developing with this advance version of PHP such as how it will affect sites which run on WordPress.

PHP 7 is no doubt an advance update for server-side web development language, and not in PHP but it’s going to impact a lot on other PHP-powered CMS like Drupal, Joomla, and Magento.

Upgrades in Performances

The biggest performance upgrade in PHP 7 is the direct response to all the criticism for all the past performance issues for the platform. This new PHP 7 release will give a 50% increase for the apps and will be quicker than HHVM.

Double Speed

This latest new update is twice as fast as PHP 5.x. PHP 7 executes codes faster and requires only few servers to manage the same quantity of requests each second. For example, WordPress homepage now requires 72% fewer instructions to execute than previously.

Latest & Improved Operators

The two operators that make their debut on PHP 7 are Spaceship and Null Coalescing. The former makes the designers chained comparison briefer while the latter is supposed to check if something exists.

Function Type Clues

In PHP 7, you are now allowed to use Boolean, Integers, Floats and strings as function type hints. In addition to that, you can even declare a function’s return type. This will help in preventing you from passing and returning the wrong types from functions.

Engine Exception

Exceptions added in this latest release of PHP 7 engine will help designers to handle errors in applications. The new engine exception introduced in this version will replace these types of errors, which is a great news for designers. If they now witness any fatal error, they can immediately remove it.

Continuous 64-Bit Support

It is now possible to operate PHP on a 64-BIT Windows system with total confidence. This is no doubt a remarkable change because the earlier versions of PHP have failed to support 64-bit integers or bigger files.

Group Use Declaration

Group Use Declaration is another more interesting feature of PHP 7. They outstandingly have improved PHP namespace implementations. Now you can import as many classes as you want from the namespaces, all because of this syntax. Another benefit of this syntax is, you have to write less code.

Anonymous Class Support

Classes with no name help developers to enhance their coding and fasten the execution time. Well, other programming languages like Java and C# also let developers make use of anonymous classes in their code.

Abstract Syntax Tree

PHP 7 introduces Abstract Syntax Tree and for good reason. It is the middle phase in the whole language compilation process. AST (Abstract Syntax Tree) has come with lots of advantages like the possibility of more optimization, refined code quality and the chance to use tools such as static code analyzers.

Removal of Unacceptable Items

Good news, some deprecated features, unsupported or dead server APIs and extensions are removed in this latest version of PHP. Here see the list of removed items:

  • ASP style tags
  • PHP 4 style constructors.
  • Ereg and MYSQL extensions.

These are some necessary things to keep in mind while moving to PHP 7.

Notifications

Stay alerted for notifications. Hosting sites usually send the notification to the site owners prior to any PHP updates. Do tell your hosting provider if you missed anything by mistake.

WordPress Site Backup

It would be great if you save the copies of your WordPress site in multiple locations before migrating to PHP 7. This applies even when you think that the update will not break your site.

Update Before Migrate

Update all your site elements like the themes, plugins and the whole WordPress site before migrating to PHP 7. It is a wise precaution to ensure that all the site elements work fine even after the migration.

Talk to your Hosting Provider

Don’t feel shy in contacting your web hosts’ support team. Ask them if they are able to take care of all the site issues while migrating. Ask them to simply install a new copy of WordPress and then restore your whole site from the backup.

Wrapping it up

With all these updates, the release of PHP 7 sounds are all exciting for the developers and designers. The new update is designed with lots of features which has made the programming language faster and more improved.

Still scared in migrating to PHP 7? So it is recommended to follow all the precautions to avoid any mishaps.

Arpatech Website

Jun 5, 2017

Education Web Design: 7 Elements that Influence Conversions

Education Web Design: 7 Elements that Influence Convers...

The road for conversion on any website is a long one. Countless of factors matters as why someone would take action on your site. In this post right here, we are going to talk about the most important user group on educational websites which intends to satisfy parents and students. Obviously, any educational website serves many purposes and both users are part of your organization but not necessarily both the users need to be served in the same way for conversions.

Let’s take a look at some key website elements which can help effect, achieve and encourage conversions.

1: Compelling and Attractive Headlines

There are lots of choices available for students when narrowing down their options for educational sites. In the process of researching, they will look at hundreds of websites recommended to them by others or seems appealing to them in some way. This is the reason that a compelling and straightforward headline is so much important.

If a user lands on your website, make them revisit your website again. This can be done through many things since it is difficult to focus on any single aspect of the website, so it’s better to make a bold, loud, stand-out and clear statement to convey your message rather than filling the page with a glut of information.

2: Quality Imagery

High-quality images go hands in hands with the compelling and appealing headlines. The homepage and landing pages of your educational website should feature quality photography which gives your user an immediate and positive reaction over that. Pairing with strong headlines or content and high-quality images will leave a long lasting impression on users, convincing them that they have landed in the right spot.

3: Clear, Defined User Paths

Education websites serve many user groups. And because of this reason, it is important to have clearly defined user paths to allow easy navigation according to the needs. Giving clear pathways to a relevant and specific content ensures you that the users don’t abandon your site just like that because they can’t find the information they are looking for.

4: Ease of Navigation

Educational websites are normally loaded with lots of information, which makes sense as it is fulfilling different needs of user groups and offers a huge number of different courses, programs which should be represented. However, displaying an enormous amount of content can be a challenge when it comes to representing it on the web. Web sites with a variety of content should focus on presenting in such ways which help in navigating the site towards the content which is relevant and useful.

5: The Right CTAs

Call-to-action buttons are incredibly an important factor in the conversion process. But it doesn’t force users to take that step instead it guides them the way which makes sense to them. The more satisfied and comfortable your users are, the more likely they will take a step to complete the conversion. Consider it necessary as how much information users require before they take any more serious and important steps such as giving their contact or card information. So ensure to include other options for users who are not yet ready to make any commitment.

6: Social Presence

Displaying Social proof on your website is one of a great way to gain user trust and get them connected with your educational institute on a more personal level. Word-of-mouth marketing, social shares, comments, mentions are now considered to be the digital equivalent of a conversation shared between people. Integrating social tools on your site shows that your educational institute possesses a thriving, engaging and successful community.

7: Mobile Optimized

Mobile optimized websites are a necessity now. Half of the users’ access web through their phones and Google takes mobile optimization as a ranking factor. The website without mobile optimization is a major drawback and a website performing poorly on the mobile screen is undoubtedly a conversion killer.

In a digital era, almost everyone expects websites to function on phones as fine as they do on desktop screens, so it’s wise to meet their expectations to generate leads and conversions.

In the End

We hope these 7 areas of focus discussed above will help you design your website in a way which influences conversions. Did we miss out any other factor? Do let us know in the comment below.

Arpatech Website

May 31, 2017

Boosting Moodle Performance – Tips To Speed Up Your Moodle Website

Boosting Moodle Performance – Tips To Speed Up Your M...

Moodle, aka Modular Object-Oriented Dynamic Learning Environment, an open-source platform which lets you create interactive, collaborative content and online courses through Learning Management System (LMS) or Virtual Learning Environment (VLE).

Deploying any Moodle website can be very profitable. Moodle website owners can make the most out of their Modular architecture and can implement plenty of functional modules/extensions on the site to make the educational interface more attractive, interesting and engaging.

However, you might feel sometimes the decrease of your Moodle’s website load time and performance. With too many extensions installed on your Moodle site or being shrink on your Moodle hosting plan, can also give your Moodle website users a hard time. Since nothing can spoil the name and reputation of a website than its low speed and functionality.

I am going to share down here few tricks to optimize and speed up your Moodle website.

1: The Basic Tweaks

Before taking any further step towards optimization techniques, it is necessary for you to understand and consider first some of the basic things which can cause or make your Moodle website slow.

2: Get a Managed Moodle Cloud Hosting

Discover first whether the hosting plan you are on suits your website or not. If you are using shared hosting then obviously it’s the root cause for your Moodle website to function slowly and makes it more delicate for security threats as well.  Get Managed Moodle Cloud Hosting for better and adequate resources and security.

3: Baseline Monitoring

If using in-house servers then do monitor the components of the system which are the baseline of your Moodle site. For Linux Operating System, try LBS and for Windows Monitoring System, use performance monitor. Once you are done gathering the information about your system performance, you can now improve the performance and speed of your Moodle website by making changing in system components such as RAM, caching or Disk Space.

4: Operating System

Moodle runs on limited operating systems such as Windows, Linux, Mac OS and UNIX. But for the better performance, Linux is supposed to be the core Operating System on the servers which can run your Moodle website. Do check your hosting provider too and see if their systems are giving the recommended configuration to Moodle or not. If not, then change your hosting ASAP.

5: Additional Performance Tweaks for Desktops

If you are using FireFox, integrate firebug and then YSlow extension in it. This advance tool will tell you the exact loading time of each page of your Moodle website. Also, the YSlow tool will evaluate all the pages in contrast to Yahoo’s 14 rule for fast loading website and gives you the metrics of some common issues on your website. 

6: PHP Accelerators to less the CPU load

It is suggested for both in-house servers hosting providers to make use of PHP accelerators according to the PHP version. The PHP Accelerator will help to ease the load from the servers while processing PHP queries.

7: Check Memory Limit

The latest version of Moodle requires larger memory. Check the memory_limit in php.ini. If the Moodle version is earlier than ver1.7 then reduce the memory to 16M and for 1.7 versions, increase the memory limit to 40M.

8: Optimize the Performance of Apache Server

If your Windows server has Apache installed then use the Apache Lounge build version because this build of Apache is far better in performance and stability than the official one. Do remember one thing this version won’t keep you updated with the official patches and releases of Apache.

9: Increase MaxClients Memory Limit

Increasing the memory of MaxClients will leave 80% of the available memory for spare. Apache requires maximum 10 MB memory for processes increase up to 100MB. This whole thing will render your Moodle website pages fast.

Tip: Don’t increase the MaxClients value to above 256 as this would allow your server to eat more memory.

10: Tweak MYSQL Performance

Change MYSQL settings for better performance of the Moodle website. But make sure you have made the backup of the databases before taking any attempt to change the configuration of MYSQL.

Some Other Tools to Increase Moodle’s Performance

There are some other methods available to increase or boost up the load time for the Moodle website. Such as CDNs (Content Delivery Network) can make your Moodle website accessible for all and Memcached allows quick rendering of the web pages.

Well, these are some tips to speed up the performance of your Moodle Website. Hope they work for you. Got any other tip? Do let us know in the comment section below.

Arpatech Website

May 29, 2017

Why are HTML Templates the First Choice of Designers?

Why are HTML Templates the First Choice of Designers?

This is no new trend. Html templates are the first choice of designers. Making use of Html templates was first started in the initial stages of web designing. No matter how advanced web technologies are, HTML will always lead the way. Some few reasons for the obvious fame for HTML are,

Compatibility with all Browsers

The HTML templates are supported by every browser such as Google Chrome, Firefox, and Internet Explorer, Safari etc. it is mainly because this markup language is very adjustable and recognizable by many browsers which let you display your website on screen regardless of any browser. Html templates are also accessible from any devices either desktop, laptops or mobile.

SEO Friendly

Hear, hear, Html templates are SEO friendly. It is easy for search engines to read websites of such templates as their coding is organized. All in all, this method helps to get rid of complex problems.

Get free quote from Professional Website Design and Development Agency.

Flexible Nature

Html is easy to understand by beginners and non-technical person. Because of its pliable nature, developers and designers can customize it accordingly.

These are some top reasons as of why the HTML templates are the first choice of designers and developers. Now let’s see some top best Html templates (free or paid) to create some brilliant portfolio websites, software or product app landing pages and much more.

The Fekra Multi Page HTML5 Template

Fekra, sounds strange. Doesn’t it? The template is a single page parallax suitable for an amazing range of industries and niches. It is mobile responsive and has an unlimited color palette to make the most of this platform. It’s so affordable with 50 demos and lets you create 270 unique pages. Well, this template is the best choice for advanced users.

Professional HTML5 Development Company.

the-fekra-multi-page-html5-template

Metronic – An HTML Dashboard Template

Metronic is the template enriched with varieties of functions and features. The theme consists of 7 admin templates, customer base of about 30,000 satisfied developers and also 1500 user interface features.

With a fully responsive capability, the template can be used for both professional and personal use. Do check it out and I am sure you’ll love the versatility of it.

metronic-responsive-admin-dashboard-html5-template

BeMobile – Mobile Responsive HTML Template

With the increasing number of mobile users, BeMobile html template took the advantage of this growing trend and made specifically for the mobile users. The template is fully customizable with 10 different homepage styles, bar styles and features which works only for mobile and commonly found in mobile phones only. The design feature of the template consists of touch device optimization, CSS3 design, ergonomic navigation and also tablet-specific responsiveness.

bemobile-top-html-theme

Smart Start- A Smart HTML Template

Smart Start is considered to be an ideal template for beginners but it’s not true. We have seen the template is so much versatile for experts too. If you are a graphic designer and wants to make the most of the layered PSD files or can’t live without Ajax infrastructures then you are definitely going to love Smart start. It is compatible with all browsers, mobile responsive and perfect for both HTML 5 and CSS3 users.

smartstart

Flex- A Flexible HTML Template

If you wants to showcase or display artworks, products or services then this template is best for you. The Flex template quickly, responsively and elegantly portrays the message without boring the audience with too much content. The template has built-in SEO functionality and allows the implementation of metadata, tags and etc.

flex

This is not the end

These are not the only best HTML templates but they are among them. Hence, it is now certain that HTML templates have their own identity in web designing and developing industry. Doesn’t matter how advance the web industry becomes, the value of this markup language can never be less.

Arpatech Website

May 26, 2017

How to Avoid Sending Spam Emails in Magento

How to Avoid Sending Spam Emails in Magento

Every website owners are very much concerned about the emails being received by their users in their spam folders. People on different community forums are this major problem of emails being marked as spam so I thought to write up on this and shed some light on this topic for correct configuration and to create a checklist.

Obviously, this is no website owner goals to drop their emails into the spam folder. Emails are supposed to be sent to the inbox rather than in the spam. So, today I am going to tell you how to avoid sending spam emails in Magento.

How the Spam Filter Works

First, let me describe you shortly as for how the spam filter works, not just for Magento emails but for every mail. Whenever any email received to your server, and the spam filter is enabled, it will check all the incoming messages for a list of parameters.

Get Free Quote from Professional Magento Development Agency.

The parameter can either affect final spam rating in the positive or negative way. Marking whether the email is a spam or not is based on final scores. Average and recommended score to mark any mail as spam is 6.6. If the score is low then it won’t be marked as spam but if the scores are higher then it will go to the spam folder. In this blog, we are going to discuss some most common reasons for the rise of spam score and will provide you some tips to reduce it. Keep in mind, the lower the score is, the more likely the email is going to be sent to the user’s inbox.

The Steps to Avoid Spam Mails in Magento

  •         Server & IP Configuration
  •         Email Structure
  •         Email Content
  •         Testing Email Messages

To decrease the possibility of the spam emails, be ensure the server is configured correctly and the DNS contains all the necessary records. The email message should contain required headers and MIME parts.

Server & IP Configuration for emails in Magento

  • SPF DNS Record

Configure the domain SPF record correctly. SPF record is basically a TXT record in the DNS which has a list of all the IPs and hostnames, authorized specifically to send emails from the domain.

HOW IT WORKS: When any receipt server gets any mail, it checks the IP address for the authorized address.

  • Domain Keys

The mail server attaches a signature to every outgoing mail. The signature is used to verify sender server by reading public key located in the DNS record of the system. There are basically three parts: a private server, not visible to anyone on the server, used to generate email signature. A public key, listed in the DNS TXT record, used to verify that the email was signed with a private key of a specific server. But this point doesn’t stop spammers from sending emails using Google servers or others. This is just an additional layer of security.

  • Reverse DNS

Whether sending email from a server inside the domain, ensures that it has its own IP address and the hostname is resolved to that IP address.MX Record

MX Record is necessary for your domain. It basically tells which email servers is responsible for handling all the incoming emails for the domain. It is required if in case the email couldn’t get delivered to the receipt address, so the receipt server can send an undelivered notification.

  • White IP Address

Sometimes IP address can become blacklisted. After getting a new IP address from the provider, it is suggested not to use it for at least a month. The reason behind it is the new IP address might also be used by someone else. This time delay will clear the IP address and becomes “white”.

  • SMTP

One of the good solution to use SMTP server to send emails in Magento. It can either be public or private mail sector. Some paid SMTP services are also available on the web. Magento does not work with SMTP, so one need an extension for it. But here is one drawback, there are only a few extensions available in the market which send emails using their own method and will not work through SMTP. Also, maintain the server to ensure it works correctly and is backed up often.

The first part is completed, the server is now configured and is all ready to send emails out. Let’s move towards the second step and look at the email messages structure.

Recommended E-Mail Structure in Magento

  • Plain Text Part

The biggest problem in Magento is it doesn’t send the text part. It only sends HTML message part, giving such messages a higher spam score. The text can either be entered manually or can be created automatically.

  • Embedded Images

One can’t imagine an email without images. It is better to embed images directly into the message instead of linking them from remote resources.

Email Content Recommendation for Magento

  • Valuable Text

The text is important and useful for the readers. Bring value to it. Don’t do marketing for profit only. Don’t ever forget that your emails are read by humans.

  • No Image Emails – Do Html Coding

Avoid sending emails consisting a single image. It is no doubt hard to code email markup sometimes.Because single image emails are always considered as spam.

  • No Link Shorteners

Link shorteners can help you in building nice URLS because it is considered untrusted.  Your email will get up to 2 whole points for spam if any shortened link is found inside the email.

Testing Emails Messages in Magento

  • 3rd Party Service

Checking email in all apps is not possible to do manually. To get it done, you can use third-party services like litmus. It will generate previews of the messages on different platforms, web and desktop email clients. It is a very useful tool.

  • Use your Team

Once you are done with automatic testing, we would recommend you to send few copies to your circle, to get real life experience and feedbacks from live people.

  • Test Mobile View

Don’t ever forget to test the mobile view for Magento emails. Mobile marketing is continuously growing so the emails should look perfect on mobile devices too.

The End!!!

I hope this information comes handy to you. Got any more questions? Do comment below and I’ll be happy to help.

Arpatech Website

May 24, 2017

4 Best Online Places to Learn Code for Free

4 Best Online Places to Learn Code for Free

A few years back, there was a time when programming was considered as the geekiest thing ever. But that’s not exactly the case for today. Nowadays everyone holds a certain level of potential, the chance to learn and even can master programming languages easily.

So, if you are new to the world of programming, coding and web development, then it does make sense to start teaching yourself by utilizing all the free resources available online. Forget about all the complicated setups and cold command prompts and say hello to these 4 online places for instant and interactive lessons to teach you the programming languages, website and app development, tips and even best practices of the industry top professionals.

To make learning easier, I have gathered here top 4 resources for you to learn the code free online. Let’s kick-start the path into programming and coding today.

CodeAcademy

Codeacademy is no doubt a famous learning source to teach you to code interactively. All thanks to codeacademy’s helpful interface and well-structured courses. Opening the main page, you can already start seeing and tasting the programming right away with its attractive on-screen console. Pick any of the courses that Codeacademy offers which includes Web development, PHP, Javascript, JQuery, Python, Ruby and APIs.

codeacademyhome

In every lesson that codeacademy gives contains a panel that explains necessary code and interaction. Another advantage of the panel is that it allows you to write acceptable code and then it checks if you are doing right or not. Not to worry about the mistakes you make while coding as both the instructions and code panel will warn you about the errors and will give you hint to solve. Learning with codeacademy will make you feel like as if there’s a teacher sitting right beside you.

Khan Academy

Khan Academy, although not structured like other resources, but it does offer an open playground for everyone, particularly who are interested in learning drawing, animation and user-interaction with code. It doesn’t offer any specific programming language to learn, but the coding technique can be applied anywhere since all the languages share the same programming pattern.

khanacademy

First, join the basic programming courses to learn and understand the basic concepts and then discover the code to after the video tutorial to clear the doubts.  With the Khan Academy tutorial, save your modification as a spin-off to enjoy and customize. There are hundreds of spin-off from one lesson in one course, so you can imagine well the community size of Khan Academy .

SQLZOO

SQL is the language designed to save and retrieve the data from the databases. Learning with SQLZOO will kill the boredom for you to learn SQL happily with its interactive interface and smileys.

sqlzoo

There is nothing really deep or impossible to learn or explain this straightforward language, the site will make you learn how to replace the variables and some more advanced queries. One biggest drawback about this tutorial is the shortage of hints, answers, and forum, so you can probably get lost if you are failing to answer any of the quizzes.

Code School

Once you are done with your basic learning and wants to expand your skills and capabilities, Code School is the best place to learn from. Unlike other interactive sites, Code Schools give you an in-depth learning and training to make you an expert with the help of industry’s best practices.

codeschool

The courses offered in CodeSchool are categorized in 4 main parts which are:

  •         Ruby
  •         JavScript
  •         iOS
  •         Html/CSS

Most of the courses offered are free and few of them are about $25/month for the entire course.

Good Luck

Missed any or know any other resources better than those above one, then do let us know in the comment below. Also share your experience about these resources as well.

Arpatech Website

May 20, 2017

5 PHP Security Measures to Implement

5 PHP Security Measures to Implement

PHP is the most popular programming language and is being widely used for rapid development of dynamic websites. Web servers are publically accessible, so they possess possible security vulnerabilities.

PHP is a stable and almost an inexpensive web application platform. Like other web-based platforms, PHP is unsafe from external attacks too. For this, developers, database architects, and system administrators should take measurable precautions before deploying any PHP applications to a live server. These security techniques can get done with a few lines of code or some little adjustment to your application settings.

In this blog here, I have described in detail some of the most common vulnerability found in PHP web applications along with suggestions as for how they can be managed and prevented.

SQL Injection

SQL injection is the most common hacking type and specifically targets the database-driven websites or web applications which link or interacts with databases. The SQL injection is a type of code injection, where attackers make full use of the vulnerabilities in the website security measures to send special SQL queries to the database which can modify it and tables within it or delete the whole database.

Get free quote from professional PHP Development Company about your project.

This type of attack occurs when the developers fail to check data validation functionality in those areas of the website where the data from external sources can be inserted into the website. The attacker can easily add their own SQL statements in unprotected SQL queries which utilize data submitted by the user to check for something in the database.

For example:

An unprotected statement would be something like this

1 $query = “SELECT * FROM users WHERE username = ‘niki’”;

An SQL injection query will result in the following attempt:

1 $query = “SELECT * FROM users WHERE username = ” or ’1=1′”;

The result generated here will be true, and thus the content of entire table users would be displayed.

[related_posts]

In the SQL injection, attackers gains access to all the information in the database such as passwords, usernames, emails, and some other sensitive information.

How to prevent it?

  • The data should be validated, verified and cleaned up before entering it into the application
  • All the confidential information like passwords must be encrypted using SHA1 or SHA;
  • Technical information has technical details which can disclose security vulnerabilities to an attacker; so for safety purpose, it should be removed from error messages;
  • An attacker looks for error messages to hack information like database names, usernames and table names, therefore,  disable error messages or create your own custom error messages;
  • Limits the permissions granted on the database, since, fewer permissions will  result in fewer chances of hacking attack;
  • Use stored procedures and previously defined cursors to abstract data access so the users cannot directly access tables or views;
  •  Avoid using words such as ‘insert’, ‘update’, ‘drop’, and ‘union’ from being added to the database, as these all being words can alter tables and databases.

Remote File Inclusion and Remote Code Execution

The violation of this security measure will allow malicious or even unknown third party to run any code on the web server or on the client side and can even lead to other hacking attempts.

Remote file inclusion caused by a website susceptibility which lets the hackers to deploy malicious file on the web server. This can happen because of improper use of require() and include() functions if the register_globals directive, is ON, allowing the user to initialize variables remotely.  These remote variables can be used to include malicious or unwanted files from remote locations, and if the allow_url_fopen is enabled in php.ini, then remote files can also be uploaded to the site’s server via FTP or HTTP from any remote location.

How to prevent it?

  • Turn OFF the register_globals directive. Luckily, in advanced versions of PHP, it is by default OFF. If you want the directive to be ON for some reason, make sure all variables are properly initialized.
  • There are some other PHP directives which can be used to avoid this security breach, which includes: allow_url_fopen (by default turned on) which controls whether to include  remote files and should be turned OFF and allow_url_include (by default turned off) which controls whether include_once(), include(), require() and require_once() commands are able to include remote files into the code.
  • Enabling safe_mode which tests user ID permissions before opening any file.
  • Always validate user input and be careful with the data retrieved from remote servers or locations. To stop it, first, ensures that all files included are locally hosted and don’t ever accept files just like that unless necessary.
  • Restrict user permissions to help you stay protected from this security threat.

Cross Side Scripting (XSS)

Cross Site Scripting is one of the most common forms of hacking  Hackers use a legitimate site’s vulnerability to forcefully makes the site to do certain things. In XSS, the hacker infects a web page with the malicious client-side script and whenever a user visits that page, the script gets downloaded into the attacker’s  browser and executed. The pattern of XSS attack is depicted in the diagram below:

2

How to prevent it?

  • To stay protected from XSS, use escape functions, specially escape characters which comprises of HTML and JavaScript syntax like ‘>’ and ‘<’ or convert these into HTML entities, (for example, < would become this < ).
  • Sites like forums, where users posts HTML links, an alternative syntax like bbcodes (this is so common on forums) and can be used in order to overcome the escaping of HTML characters.
  • The htmlspecialchars () function identifies any output you do not want as a HTML output and converts it into plain HTML entities, for example: ‘&’ becomes ‘&’ and ‘”‘ (double quote) becomes ‘”’;
  • Do always check and test the website before launching it.

Session & Cookie Hacking

The session and cookie hacking can’t violate the database or the web application itself, but it can affect user accounts. A session is an entity triggered when users establishes contact with any web server and consists of some period of interaction between users and web application which may be authenticated using security measures like a username and password. In all this session, the web application stores a cookie or file on the user’s’ browser, which contains information about the session such as users’ preferences, authentication data, unique codes or shopping cart information and more.

3

How to prevent it?

  • To prevent hackers from setting session ID’s prior to login, ID’s must change after sometime, therefore, the session_regenerate_id() function must be used every time the user logs in, assigning them a fresh ID
  • The risk can be minimized by revalidating a user who is going to perform important or sensitive tasks like resetting the passwords .
  • If the user password is stored in a session variable, it should be encrypted by using the sha1() function.
  • If the web application contains sensitive information like debit and credit card numbers, then using an SSL or any other secured connection to avoid session and cookie hacking

Directory / Path Traversal

Directory aka Path traversal is a method of destroying web applications by accessing the files from the document root directory which allows attackers to view restricted files and interact with the web server by executing commands. This hacking attacks happens from the browser and get done by entering URL into the address bar which helps to let  out of the root directory and into the main server directories. This attack can also be done through input portals on the front end of the web application.

How to prevent it?

  • Validate and clean all the user input and remove all the suspicious data and filter out metacharacters;
  • Don’t ever store sensitive configuration files inside the web root.
  • If a suspect request any file to made, build the full file-path and all the characters in the path should be normalized (e.g. change %20 to spaces);
  • Careful programming on the web-server should be done. Make use of security software, patches and vulnerability scanners.

Security is an important phase in all the process. In this blog, I have mentioned here the top five PHP security measures to follow. Still got questions or need more information? Do comment below.

Arpatech Website

May 19, 2017

How To Install Drupal Commerce KickStart

How To Install Drupal Commerce KickStart

Drupal is among the powerful CMS which is used to create a variety of websites without the need of knowing coding. Drupal is an open source like WordPress and supports modules instead of plugins as in WordPress to extend the functionalities.

The useful way a Drupal can be utilized is by creating an e-commerce website. In this blog guide, I am going to use Drupal 7 since it is one of the widely used versions of Drupal. The two ways through which a Drupal e-commerce website can be made are:

  • By using Drupal Commerce
  • By using Drupal Commerce kick start

Drupal Commerce

Drupal commerce is not just a framework. It is an application since it is made on the ideology of what can be built using it.

Drupal commerce lets you build from scratch and takes an in-depth knowledge as you have to configure every aspect and module of it.

Drupal Commerce Kickstart

Drupal commerce kickstart is a Drupal distribution. Distribution offers site features and functions for the specific site since a single download contain the Drupal core, shared modules, themes, and pre-defined configuration. Making it possible to quickly set-up complex, use-specific site in fewer steps if you are installing and configuring elements individually.

This is very helpful for any user who wishes to kick-start their e-commerce website and run in short period of time and do not wishes to go in depths of Drupal.

Get Free Quote and Avail Drupal Development Services.

I am going to use Drupal commerce Kick start in this blog after all this is specifically for users who are new to Drupal. So let’s not wait and dive right into it.

A distribution is installed in a similar way as of Drupal’s core installation. The step involved in the installation of Drupal Commerce Kickstart are:

  • Download Drupal Commerce Kickstart
  • Decompress the downloaded file
  • Create Database
  • Commence installation
  • Configure set up details
  • Configure site details
  • Configure store
  • Get Started

Download Commerce Kickstart

Check the Commerce Kickstart site and read the whole page. The download links can be seen on the bottom of the page. Click on this highlighted link to get more detailed download links.

1

Here you will get an option to download the distribution with or without the Drupal core. I am downloading it with Drupal core as it is the simpler method. This will install the distribution along the Drupal core. The installation is done in the same way as the Drupal core would.

Decompress the Downloaded File

Decompress the file you downloaded into the website’s root folder. And ensure to place the entire folder, and not to forget the hidden .htaccess file.

Create Database

Go to database manager and create a new database.

Don’t forget the name you keep for the database and remember it during installation of the distribution.

2

Commence Installation

Once you are done with this, open the web browser and navigate to the root folder (as we are building the website on the root folder, go to http://localhost/). If you follow these steps rightly and get the things correctly done then you will be presented with this screen (below).

3

Agree to all the terms and click on the “let’s get started”

Configure Setup Details

After verifying all the requirements, a “set-up” database screen will pop up. Here you have to set up your database name. The name should be same as you set earlier for the database created in the database manager. Set the database username and password as well.

4

Fill out all the required fields and click on the “save and continue” button.

Configure Site

This will install Commerce Kick start 2 and a configure site screen will appear.

Here you have to enter your site information, site maintenance account and server settings. After filling out all the required details, click on the below blue button.

5

Configure Store

Now, time to configure the store. You will get an option to download the demo store, but do remember once you install the demo store, you cannot remove it without reinstalling the entire site again.

Additional features will also be presented to enable modules which allow various functionalities like setting slide show for front page, enabling of social media connections etc. Set all these options according to your choice and proceed to the next step.

The screen will display a simple progress bar, indicating the import of contents on your site.

6

Let’s Started

Once you are done with this, you will be transferred to “Get Started” screen, where a short intro of the website you created will be given to you. And if you got any queries then navigate to the “help” tab.

7

Conclusion

That’s all. You are done! You have finally created your first Drupal commerce site. This above guide is for beginners so we used a distribution with Drupal core which is already included in it. This is the simplest method to install Drupal commerce kick start. I hope this blog guide will help you.

Arpatech Website

May 15, 2017

Things to Consider Before Any Magento Big Data Migration

Things to Consider Before Any Magento Big Data Migratio...

Magento 2 is finally here, after such a long time. Though the wait was worth it because this latest Magento version is built on some different architecture and is more optimized, fast and user-friendly than Magento 1. So, if you are planning to build a new Magento store or thinking to migrate from Magento 1 to Magento 2, this blog is here to help you out.

So if you are currently using Magento 1, then the release of Magento 2 will put you in a bit of dilemma and confusion as to whether you should stick to Magento 1 or migrate to Magento 2. In this blog here, I’ll briefly discuss the big data migration process from Magento 1 to Magento 2, and all the key points you need to consider while migrating.

Important Aspects to Consider Before Migration

The very first thing you need to be cleared on right away is whether you want to stick with Magento 1 or wants to start the migration to Magento 2 now. Here are some important key things to consider while making your decision.

Get Free Quote From Magento Development Agency

  • Magento 2 is no doubt a better and faster option. So if your store is newly launched and has no traffic then it’s high time for you to migrate now.
  • If your Magento 1 performance is satisfactory and things are going fine with it then there is no such need to do the migration. Magento 2 has just launched and it doesn’t mean that Magento 1 has lost its worth already. Magento has made an announcement that it will support Magento 1, however, they won’t release any more Magento versions, themes or extensions. That means you can use Magento 1 for some more time instead of migrating too soon.
  • Avoid the upgrading process especially if there’s any important season coming up for the e-commerce store. In some popular shopping seasons like Christmas, Black Friday, New Year, it would be such a bad idea to change your website configuration because it will cause maintenance and downtime and you can never know when things go wrong. SO NO RISK
  • Another important point to note is that whichever theme and extension you are using should be available too for Magento 2. Magento 2 is newly born, although the Magento community is quickly upgrading its latest version’s extensions and themes as Magento 2 is not compatible enough with everything. So if you got any important Magento extension then make sure first that it is compatible with Magento 2.

The Migration Plan

Here is some brief overview of the steps involved in the big data migration and transferring of your site from Magento 1 to Magento 2.

Review the Site

Take a good look for the availability of the deisred extensions and themes. Ensure that they are available in Magento 2. Also, do look for unrequired extensions you can drop, along with the database asset you need to migrate or any else asset to drop.

Planning for Infrastructure

Check out your hosting company whether they have the required capacity to host your Magento 2 site without causing trouble and also if they can sustain and support your Magento 2 site when the traffic scales up.

Create a Magento 2 store

Create the fresh installation of your Magento 2 and after the installation is done, back up or dump the Magento 2 database as soon as possible.

Now, start the installation of your required extensions on the fresh Magento 2 store.

Steps for Migration

Install Magento migration tool and ensures that it has the access for both the databases of Magento 1 and 2 to start the migration process.

Stop all the cron jobs and activity in Magento 1 admin panel. And don’t start or resume the activity unless the whole migration process is completed and your Magento 2 site goes live.

Transfer the media files from Magento 1 to Magento 2 manually and use Magento migration tool to migrate all the settings to Magento 2.

Use the migration tool for the complete transfer of Magento 1 database to Magento 2. Though both databases have different structures but the migration tool knows how to transfer properly, so your data remains accessible in the installation of Magento 2.

But if you are using any extension which uses its own data and has different database structure for Magento 2 then while transferring it to Magento 2, use the mapping files which comes with the data migration tool.

Once you are done with the complete database transfer, do reindex your Magento 2 site.

And lastly but not the least, do conduct a thorough testing of your new Magento 2 site.

Post Migration Steps

Now it’s time to migrate the data which uses incremental updates.

Once you are ensured that all the data has been completely transferred to Magento 2 and everything is working fine then it’s to make take your Magento 2 to live now. For this, put Magento 1 site first on maintenance mode, stop migration tool, start Magento 2 cron jobs and point the DNS load balancers to the new production hardware. And voila you are done!

The flowchart displayed down here explains the steps for migration.

m1

This is just an example overview of the overall migration process to help you plan properly.

Best Practices to Consider

Here are some best practices to keep in mind.

  • Create a duplicate of Magento 1 database and connect Magento 2 to that duplicated database before migration. This is because if you by mistake or accidentally gets connected to the Magento 1 live database, you will lose your Magento 1 database too and it will be unrecoverable.
  • Once you are done with duplicating the Magento 1 database, keep only essential data and erase all the unnecessary. Like recently viewed, compared products report, old promotional rules, logs and order quotes are some unnecessary things.
  • Stop all the other irrelevant activity except order management activity in Magneto 1 admin panel before starting the migration process. If any change is made after creating a duplicate then those changes will not be transferred to the Magento 2.
  • Avoid any code change during migration process. Migration time is not the best time to fix things or make any changes. Hold all these things till the migration process is fully completed.
  • To boost up migration performance, set the <direct_document_copy>1</direct_document_copy> Option in the config.xml. But make sure that both the Magento, 1 and 2 databases are located in one MYSQL instance and the database account can access each database.

Now let’s give you an estimate of the professional Migration process time. Any Magento store hosted on VirtualBox VM, CentOS 6, 2.5Gb RAM, CPU 1 core 2.6GHz environment, with database of around 177k products, 355k orders, 214k customers can take around 10 minutes to migrate settings and 9 minutes to migrate the data, and the Magento site has to remain in maintenance mode for few minutes to reindex the Magento 2 site and to change the DNS settings.

Migration Tool v/s Manual Transfer

The migration tool can be very helpful for migrating the data and settings to Magento 2. But not all your data can be transferred with this tool. There are basically three types of data which need to be transferred manually.

  • Media
  • Store Front Design
  • Access Control List (ACL)

Installing the Magento Migration Tool

Before installing the migration tool, ensure you have covered all the above steps. Once you are done with all this, use below instructions to start the installation

Log in to the Magento site server as a user with the access to edit and create files

Go to Magento 2 root directory and enter the command (below) to update the composer.json file first

composer config repositories.magento composer https://repo.magento.com

Now enter the (below) command to access the current version of the package.

composer require magento/data-migration-tool:2.0.0

The command will install the version 2.0.0. Of the package. If you want to use any other package, you can set the version in the command.

Wait till the dependencies are installed. Once you are done, enter these below two commands to install the migration tool.

composer config repositories.data-migration-tool git

https://github.com/magento/data-migration-tool-ce

composer require Magento/data-migration-tool:dev-master

When these commands will be run, it will ask you for authentication keys. For the public key, enter the username and for the private key, enter the password.

This will install Magento migration tool on Magento 2.

In this blog, I tried to explain whether if it’s a good decision to migrate to Magento 2 or not. Also, an overview of the migration process is given in this blog with some tips and best practices for the migration process. Follow this blog to clear your mind for creating a migration plan of Magento 1 to Magento 2.

Arpatech Website

May 5, 2017

More Articles by Arpatech

Design

design for business
logo design
problem-solving web design
ui/ux
product design

Art

motion design
branding
illustration
icons
logo design

AI

machine learning
deep learning
theory of mind
expert system

Development

web development
app development
software development

Apps

app design
usability
mobile app
animations