Top Five PHP Vulnerabilities – A Programmer Should Know

Apr 03, 2013

For the development of the dynamic websites, PHP is the most preferred language. This server side scripting language, loaded with numerous features and functionalities is quite easy to understand and apply. However, there are certain features that enable a programmer to unknowingly allow security holes to creep into a web application.

In spite of these vulnerabilities, this general purpose programming language can be as secure as other languages, once the basic types of flaws in PHP web applications is well understood. In this article, we have listed some of the worst blunders for you to consider and how it influences the security practices of PHP developers.

Source Code Revelation

It is well known that PHP is a server side framework, so you don’t have any access to view source if you want to see a script’s code. But, in the event of breakdown of Apache’s configuration, people can easily view the name and content of the files.

Thus, when anything goes wrong with Apache, then all the scripts are served on the plain text, and people have access to it, which they aren’t suppose to have. Some of these accessible files may have sensitive information like database credentials. So, it is essential to lock such files away from the publicly accessible directory to avoid the consequences of such vulnerability.

Directory Traversal

Like the previous one, this attack looks for sites that have no security, where it should be. Finding such web sties, it works on the files to be accessed that the developer did not thought to make it publicly available. It’s also known as the climbing attack or the backtracking attack.

There are a few ways to avoid this blunder. The first thing you can do is to shortlist the pages, which you want to be returned for such a given request using white-listing. The second option is to transfer the file paths to absolute paths and making sure that they are referencing files in allowed directories.

Session ID Protection

With most of the PHP websites, Session ID hijacking causes a serious problem. For each of the user’s session, the PHP session tracking component has a unique ID. But, in case, this ID is known to another person, then he/she can easily hijack the user’s session and can easily drive the information which should be confidential.

This type of vulnerability can not be prevented completely, so you should know the risks and ways to mend it. One way to stop this is by storing your session ID in a spot, which is only accessibly by scripts, either on disk or in a database.

SQL Injection

Compared to others, this is the number one on the hit list. In this type of blunder, anyone can enter an SQL fragment as a value in your URL or web form. Then, the person can easily know your table names and access your secret files.

How to avoid this type of danger? The best way is to use PDO Prepared Statements. These statements segregate the data from the instructions. This helps to prevent the data from being treated as anything other than data.

These are just the five issues that you need to be careful during PHP development. Because, if you are not alert and careful, these blunders can allow your PHP application to be transgressed.

Written by Albert Smith

Albert Smith

Albert Smith is Digital Marketing Manager at Hidden Brains . An experienced search engine specialist, content, social media marketer and a technical enthusiast, Albert frequently writes on diverse topics such as social media marketing trends, web & mobile app development best practices. He has worked with some of leading brands to build their online presence and scale their businesses.