This series of articles will walk you through the most important topics about security and mobile applications, whatever the platform is (iOS, Android or others). The objective is to demystify the different aspects of mobile security, in simple words.
This third episode will walk you through vulnerabilities related to data transportation.
This series of articles will walk you through the most important topics about security and mobile applications, whatever the platform is (iOS, Android or others). The objective is to demystify the different aspects of mobile security, in simple words.
This second episode makes a focus on insecure data storage.
This series of articles will walk you through the most important topics about security and mobile applications, whatever the platform is (iOS, Android or others). The objective is to demystify the different aspects of mobile security, in simple words.
Like many frameworks, Symfony provides built-in security. Symfony is pretty secure as a framework, but it would be a big mistake to entirely rely on that reputation to ensure the security of any application. Because every application is different, the security context is different. Therefore, developers still have a big role in ensuring everything is properly configured and tested.
Input filtering, authentication and session management… This series of articles will go through the different mechanisms that you, as a Symfony developer, can use to make sure the application you develop is safe and reliable. And because built-in security does not necessarily mean “already done”, we will see what is really important and common pitfalls.
This article does not replace a good knowledge of security principles in PHP, but can give you some good advices that really boost security. There will be nothing to copy/paste straight forward to your PHP files. But we believe that these tips and best practices will bring you long-term benefits if you understand and implement the different points according to your needs and context.
This article is the third of our series dedicated to PHP security. The first article gives you guidelines for PHP configuration, updates, data filtering and sanitization, as well as code organization. The second article discusses protections against known and common attacks.
We will now take a look at file uploads, CRSF, cookies and security through obscurity.
This article does not replace a good knowledge of security principles in PHP, but can give you some good advices that really boost security. There will be nothing to copy/paste straight forward to your PHP files. But we believe that these tips and best practices will bring you long-term benefits if you understand and implement the different points according to your needs and context.
This article is the second of our series dedicated to PHP security. The first article “How to Protect Your Website: PHP Security Tips and Tricks #1” gives you basic guidelines for PHP configuration, updates, data filtering and sanitization, as well as code organization.
We will now look at common hacking attacks against PHP websites and how to defend yourself against them.
PHP remains the most popular server-side programming language: it is used by almost 80% of websites (source). This language continues to be developed, and PHP 8 was released last week ! This version brings new features and should enhance security.
However, the security of PHP builds up from its ‘historical’ core features. The following article does not replace a good knowledge of PHP, and there will be nothing to copy/paste directly into your files. But we believe that these tips and best practices will bring you long-term benefits if you understand and implement the different points according to your needs and context.
Today we cover PHP configuration, updates, code organisation and data filtering/escaping.
Two Factor Authentication (2FA) is a way to strengthen users authentication. A good example is when you want to trigger a bank transfer from your bank website: depending on your bank, you may receive a text message on your mobile phone, containing a code that you must put back on the website to confirm the transfer.
The second factor can be a phone, a physical object in your possession, some physical characteristic (biometrics) or a secret that only you know.
A 2FA process comes with some disadvantages: it makes the authentication process more complex, and the second factor has to be “available”, which can be a problem with a mobile. Flat battery, bad network coverage or any other hazard can prevent the process from working properly.
Sometimes security can represent a heavy investment in terms of web development. But there are some tiny adjustments that you can implement on your website that will help you making substantial progress in security. In fact these adjustments are really small in terms of code and configuration, but have a significant impact that requires proper analysis and validation before being implemented. Here is how HTTP headers can help you in your security efforts.
Better than just rewriting technical specifications and explaining all the details of these HTTP headers, we will focus on giving you a synthetic analysis and a list of interesting links you would like to browse if you need further details. One important thing to keep in mind is that these headers have an impact on the browser side. They control how web browsers must behave (if they implement the corresponding functionalities). They do not modify the server’s behavior.
We’ve been hearing a lot of things about HTTPS during the past months, and the Heartbleed “bug” has its responsibility in that phenomenon.
There was a time when HTTPS was dedicated to highly sensitive transactions, like banking transactions.
Now HTTPS is considered mandatory as soon as a user is authenticated on a website, in order to protect his web session and connection credentials.
What is HTTPS?
HTTPS is nothing more than HTTP, the Internet protocol used to exchange data between a server and a client (web browser) on which we add a security layer.
HTTP is not a secured protocol: it has been designed in a pure functional objective without taking any security constraint into consideration.
So we add a security layer to HTTP. To be more accurate, we encapsulate HTTP into a secured connection.