REFERENCE PHP

dernière mise à jour de la documentation : décembre 2014
.NET | Apache | APC | APD | Tableaux | Aspell | BBCode | BC math | bcompiler | Bzip2 | Calendrier | CCVS | Classes et Objets | Classkit | ClibPDF | COM | Fonctions Crack | ctype | CURL | Cybercash | CyberMUT | Cyrus IMAP | Date/heure | DB++ | DBA | dBase | DBM | dbx | DIO | Dossiers | DOM | DOM XML | enchant | Erreurs | EXIF | Expect | FAM | FDF | Fileinfo | filePro | Système de fichiers | Filter | Firebird/InterBase | Firebird/Interbase (PDO) | FriBiDi | FrontBase | FTP | Fonctions | GeoIP | gettext | GMP | gnupg | gopher | haru | hash | http | Hyperwave | Hyperwave API | i18n | IBM (PDO) | ibm_ db2 | iconv | id3 | Fonctions IIS | Images | Imagick Image Library | IMAP | Informix | Informix (PDO) | Ingres II | Interface IRC | Intégration de Java avec PHP | JSON | kadm5 | LDAP | libxml | Lotus Notes | LZF | Mail | Traitement d'Email | Maths | MaxDB | MCAL | mcrypt | MCVE | Memcache | mhash | Mimetype | Ming (Flash) | Divers | mnoGoSearch | MS SQL Serveur | MS SQL Server (PDO) | Msession | mSQL | Chaînes de caractères multi-octets | muscat | MySQL | MySQL (PDO) | MySQLi | Fonctions ncurses | Réseau | Newt | NSAPI | agrégation d'objets | Surcharge d'objets | OCI8 | ODBC | ODBC et DB2 (PDO) | OGG/Vorbis | openal | OpenSSL | Oracle | Oracle (PDO) | Bufferisation de sortie | OvrimosSQL | Paradox | Parsekit | PCNTL | PCRE | PDF | PDO | phar | Options et informations PHP | POSIX | Regex POSIX | PostgreSQL | PostgreSQL (PDO) | Impressions | Exécution de programmes | PS | Pspell | Fonctions qtdom | radius | Rar | Readline | GNU Recode | RPMReader | runkit | SAM | Satellite | SCA | SDO | SDO DAS XML | SDO-DAS-Relational | Sémaphore | SESAM | Session PgSQL | Sessions | shmop | SimpleXML | SNMP | SOAP | Sockets | spl | SQLite | SQLite (PDO) | ssh2 | statistics | Flux | Chaînes | SVN | SWF | swish | Sybase | TCP Wrappers | Tidy | Tokenizer | Unicode | Fonctions URL | Gestion des variables | Paiement par Verisign | vpopmail | W32api | WDDX | win32ps | win32service | xattr | xdiff | XML | XML-RPC | XMLReader | XMLWriter | XSL | XSLT | YAZ | NIS | Zip | Zlib



Masquer PHP

En général, la sécurité par l'obscurité est une des formes de sécurité les plus faibles. Mais dans certains cas, chaque action, aussi faible soit elle, concernant la sécurité, est souhaitable.

Quelques astuces permettent de masquer PHP, ce qui peut ralentir un attaquant qui recherche des faiblesses dans votre système. En règlant l'option expose_php à off dans votre fichier php.ini, vous pouvez réduire la quantité d'informations disponible.

Une autre astuce est de configurer le serveur web, comme Apache, pour qu'il utilise plusieurs types de fichiers différents avec PHP, soit localement avec un fichier .htaccess, soit dans le fichier de configuration du serveur lui-même. Vous pouvez ainsi utiliser des extensions de fichiers déroutantes comme ceci :

Exemple #1 Masquer PHP avec un autre langage

# Faire que le code PHP ressemble à un autre langage

AddType application/x-httpd-php .asp .py .pl
Ou masquez le complètement :

Exemple #2 Masquer PHP avec des types inconnus

# Faire que le code PHP ressemble à un autre langage qui n'existe pas

AddType application/x-httpd-php .bop .foo .133t
Ou encore, cachez-le sous forme de HTML. Cela a un léger impact négatif sur les performances générales, car tous les fichiers HTML seront aussi analysés et traités par le moteur PHP :

Exemple #3 Utiliser le type HTML pour les extensions PHP

# Faire que le code PHP ressemble à du html

AddType application/x-httpd-php .htm .html
Pour que cela fonctionne efficacement, pensez à renommer tous vos fichiers PHP avec les extensions ci-dessus. Même si c'est une forme de sécurité du non-dit, c'est une mesure de prévention mineure, avec peu d'inconvénients.