Book Image

Mastering Mambo : E-Commerce, Templates, Module Development, SEO, Security, and Performance

By : Christian Wenz, Tobias Hauser
Book Image

Mastering Mambo : E-Commerce, Templates, Module Development, SEO, Security, and Performance

By: Christian Wenz, Tobias Hauser

Overview of this book

<p>Mambo is a PHP-based Open Source CMS. Mambo is both easy to use at the entry level for creating basic websites, while having the power and flexibility to support complex web applications. <br /> <br /> Mambo implements the core requirements of a full featured CMS. It has a powerful and extensible templating system with the ability to upload and manage many different data types. User access control, content approval, rich administrative control, content display scheduling are all built-in. New features and extensions are constantly added to the core system, with many more being available and supported by the community.<br /> <br /> Most of the Mambo development team now works on a fork of Mambo known as Joomla. Mastering Mambo is fully compatible with Joomla's 1.0 release.</p>
Table of Contents (18 chapters)
Mastering Mambo
Credits
About the Authors
Preface
Index

"Best Practices" for Secure Programming


The problem with the attempt to program securely is that there are many attack options. And resourceful heads, time after time, discover new methods to exploit weaknesses in source code. For this reason, one can only proceed against such attacks actively.

The US safety expert Chris Shiflett (http://shiflett.org/) once formulated his Best Practices as "Filter input, escape output." We recommend a slightly modified version, "Validate inputs, escape outputs." Whenever you receive an input from the outside, examine it before you continue to use it. Whenever you program, assume that these inputs could contain some kind of garbage from the outside, and contemplate how your system would react to it.

Only one question remains, what actually are 'inputs from the outside'? Among them are the following superglobal arrays in PHP:

  • $_GET for GET data (statements in a query string of the URL)

  • $_POST for POST data (statements in the HTTP query)

  • $_COOKIE for cookies...