A few simple techniques can help to hide PHP, possibly slowing
down an attacker who is attempting to disover weaknesses in your
system. By setting expose_php = off in your php.ini file, you
reduce the amount of information available to them.
Another tactic is to configure web servers such as apache to
parse different filetypes through PHP, either with an .htaccess
directive, or in the apache configuration file itself. You can
then use misleading file extensions:
Example 4-12. Hiding PHP as another language
# Make PHP code look like other code types
AddType application/x-httpd-php .asp .py .pl
|
|
Or obscure it completely:
Example 4-13. Using unknown types for PHP extensions
# Make PHP code look like unknown types
AddType application/x-httpd-php .bop .foo .133t
|
|
Or hide it as html code, which has a slight performance hit because
all html will be parsed through the PHP engine:
Example 4-14. Using html types for PHP extensions
# Make all PHP code look like html
AddType application/x-httpd-php .htm .html
|
|
For this to work effectively, you must rename your PHP files with
the above extensions. While it is a form of security through
obscurity, it's a minor preventative measure with few drawbacks.