SlideShare une entreprise Scribd logo

Configuration PHP5

Jean-Marie Renouard
Jean-Marie Renouard
Jean-Marie RenouardOpen Source Database Consultant at LightPath à Orange

Présentation de la configuration PHP5 / php.ini

Configuration PHP5

1  sur  28
Télécharger pour lire hors ligne
Jean-Marie Renouard 
LightPath 2014©
Le logo PHP est du domaine public 
http://commons.wikimedia.org/wiki/File:PHP-logo.svg 
Ce document est licencié sous licence 
◦Attribution-NonCommercial-ShareAlike 
◦CC BY-NC-SA 
Plus de détails: 
http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ 
LightPath 2014© - http://www.jmrenouard.fr 
2
Les fichiers de paramétrage 
Le fichier PHP.ini 
Le fichier httpd.conf 
Le fichier robots.txt 
Le fichier .htaccess 
LightPath 2014© - http://www.jmrenouard.fr 
3
LightPath 2014© - http://www.jmrenouard.fr 
4
php.ini : fichier principal de PHP 
httpd.conf : fichier principal d’Apache 
robots.txt : fichier d’indexation 
.htaccess : fichier spécifique pour un répertoire 
My.cnf : fichier de configuration MySQL 
LightPath 2014© - http://www.jmrenouard.fr 
5
LightPath 2014© - http://www.jmrenouard.fr 
6
Publicité

Contenu connexe

Tendances

Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonyVincent Composieux
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirYves Van Goethem
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
 
Formation PHP
Formation PHPFormation PHP
Formation PHPkemenaran
 
Pratique de la programmation en go
Pratique de la programmation en goPratique de la programmation en go
Pratique de la programmation en gokader15
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPkemenaran
 
Introduction à CakePHP
Introduction à CakePHPIntroduction à CakePHP
Introduction à CakePHPPierre MARTIN
 

Tendances (20)

PHP5 et les fichiers
PHP5 et les fichiersPHP5 et les fichiers
PHP5 et les fichiers
 
Fichier XML et PHP5
Fichier XML et PHP5Fichier XML et PHP5
Fichier XML et PHP5
 
Email et PHP5
Email et PHP5Email et PHP5
Email et PHP5
 
Le client FTP de PHP5
Le client FTP de PHP5Le client FTP de PHP5
Le client FTP de PHP5
 
Javascript et JQuery
Javascript et JQueryJavascript et JQuery
Javascript et JQuery
 
SQL et MySQL
SQL et MySQLSQL et MySQL
SQL et MySQL
 
Les structures de données PHP5
Les structures de données PHP5Les structures de données PHP5
Les structures de données PHP5
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenir
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Formation PHP
Formation PHPFormation PHP
Formation PHP
 
Manuel de sécurité Linux
Manuel de sécurité Linux Manuel de sécurité Linux
Manuel de sécurité Linux
 
Zf2 ce-qui-va-changer
Zf2 ce-qui-va-changerZf2 ce-qui-va-changer
Zf2 ce-qui-va-changer
 
Pratique de la programmation en go
Pratique de la programmation en goPratique de la programmation en go
Pratique de la programmation en go
 
Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHP
 
Introduction à CakePHP
Introduction à CakePHPIntroduction à CakePHP
Introduction à CakePHP
 

Similaire à Configuration PHP5

Integrons en mode continu
Integrons en mode continuIntegrons en mode continu
Integrons en mode continuneuros
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPJean-Marc Fontaine
 
Apache server configuration & sécurisation -
Apache server configuration & sécurisation  -Apache server configuration & sécurisation  -
Apache server configuration & sécurisation -achraf_ing
 
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...Paris Open Source Summit
 
Formation wp contenu - livret
Formation wp   contenu - livretFormation wp   contenu - livret
Formation wp contenu - livretCaroleTherrien1
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: AngularHabib Ayad
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...Guillaume MOCQUET
 
Presentation de nagios mohamed bouhamed
Presentation de nagios mohamed bouhamedPresentation de nagios mohamed bouhamed
Presentation de nagios mohamed bouhamedTECOS
 
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyMieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyHugo Hamon
 
Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Boiteaweb
 
Meetup angular rshop
Meetup angular rshopMeetup angular rshop
Meetup angular rshopCyril Balit
 
Introduction à WordPress sous Nginx
Introduction à WordPress sous NginxIntroduction à WordPress sous Nginx
Introduction à WordPress sous NginxMaxime Jobin
 
Communications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHPCommunications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHPjulien pauli
 
À La découverte de flow3 - t3con12
À La découverte de flow3 -  t3con12À La découverte de flow3 -  t3con12
À La découverte de flow3 - t3con12mguermazi
 

Similaire à Configuration PHP5 (20)

Formation php pdo
Formation php pdoFormation php pdo
Formation php pdo
 
Integrons en mode continu
Integrons en mode continuIntegrons en mode continu
Integrons en mode continu
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
 
SQL_Python.pdf
SQL_Python.pdfSQL_Python.pdf
SQL_Python.pdf
 
Apache server configuration & sécurisation -
Apache server configuration & sécurisation  -Apache server configuration & sécurisation  -
Apache server configuration & sécurisation -
 
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...
 
Formation wp contenu - livret
Formation wp   contenu - livretFormation wp   contenu - livret
Formation wp contenu - livret
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: Angular
 
Lp web tp3_idse
Lp web tp3_idseLp web tp3_idse
Lp web tp3_idse
 
Meetup angular rshop
Meetup angular rshopMeetup angular rshop
Meetup angular rshop
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
 
Presentation de nagios mohamed bouhamed
Presentation de nagios mohamed bouhamedPresentation de nagios mohamed bouhamed
Presentation de nagios mohamed bouhamed
 
Apache Open SSL
Apache Open SSLApache Open SSL
Apache Open SSL
 
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyMieux Développer en PHP avec Symfony
Mieux Développer en PHP avec Symfony
 
Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.
 
Meetup angular rshop
Meetup angular rshopMeetup angular rshop
Meetup angular rshop
 
Introduction à WordPress sous Nginx
Introduction à WordPress sous NginxIntroduction à WordPress sous Nginx
Introduction à WordPress sous Nginx
 
Communications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHPCommunications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHP
 
À La découverte de flow3 - t3con12
À La découverte de flow3 -  t3con12À La découverte de flow3 -  t3con12
À La découverte de flow3 - t3con12
 

Configuration PHP5

  • 2. Le logo PHP est du domaine public http://commons.wikimedia.org/wiki/File:PHP-logo.svg Ce document est licencié sous licence ◦Attribution-NonCommercial-ShareAlike ◦CC BY-NC-SA Plus de détails: http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ LightPath 2014© - http://www.jmrenouard.fr 2
  • 3. Les fichiers de paramétrage Le fichier PHP.ini Le fichier httpd.conf Le fichier robots.txt Le fichier .htaccess LightPath 2014© - http://www.jmrenouard.fr 3
  • 4. LightPath 2014© - http://www.jmrenouard.fr 4
  • 5. php.ini : fichier principal de PHP httpd.conf : fichier principal d’Apache robots.txt : fichier d’indexation .htaccess : fichier spécifique pour un répertoire My.cnf : fichier de configuration MySQL LightPath 2014© - http://www.jmrenouard.fr 5
  • 6. LightPath 2014© - http://www.jmrenouard.fr 6
  • 7. Retrait de fonctions et classes PHP ◦disable_functions ◦disable_classes Limitation des temps de traitement ◦max_execution_time ◦max_input_time Limitation de consommation mémoire ◦memory_limit LightPath 2014© - http://www.jmrenouard.fr 7
  • 8. Limitation de la taille des données d’entrée ◦post_max_size Limitation de la taille des fichiers postés ◦upload_max_filesize Interdiction d’ouverture d’URL ◦allow_url_fopen Limitation des temps d’attente sur connexion TCP ◦default_socket_timeout LightPath 2014© - http://www.jmrenouard.fr 8
  • 9. Retrait de l’entête HTTP de PHP ◦explose_php=off LightPath 2014© - http://www.jmrenouard.fr 9
  • 10. Modification du report des erreurs ◦error_reporting = E_ALL & ~E_NOTICE ◦error_reporting = E_ALL Interdiction d’affichage des erreurs ◦display_errors=off ◦display_startup_errors = Off Activation de l’écriture des erreurs ◦log_errors = On ◦error_log=erreur_php.log LightPath 2014© - http://www.jmrenouard.fr 10
  • 11. Interdiction la traduction des variables POST et GET en variables PHP register_globals = Off LightPath 2014© - http://www.jmrenouard.fr 11
  • 12. Gestion des chemins d’inclusion de code ◦Include_path ◦Chemins de recherche de include/require Utilisation de set_include_path dans vos scripts. LightPath 2014© - http://www.jmrenouard.fr 12
  • 13. LightPath 2014© - http://www.jmrenouard.fr 13
  • 14. Limitation des entêtes HTTP pour Apache ◦ServerSignature Off ◦ServerTokens Prod Masquage des URLs réécriture html ->php ◦RewriteEngine on ◦RewriteRule ([^.]+).html$ $1.php [L] LightPath 2014© - http://www.jmrenouard.fr 14
  • 15. Toutes les pages d’erreur ◦Replacement par des chaînes ◦Pas de lecture de fichier sur disque Exemples: ◦ErrorDocument 500 "Erreur Interne" ◦ErrorDocument 404 "Page non trouvée" ◦ErrorDocument 401 "Erreur authentification " ◦ErrorDocument 403 "Pas de droits d’accès" LightPath 2014© - http://www.jmrenouard.fr 15
  • 16. Limitation de la bande passante à 200ko/s <IfModule mod_bw.c> BandwidthModule On ForceBandWidthModule On Bandwidth all 200240 MinBandwidth all -1 </IfModule> LightPath 2014© - http://www.jmrenouard.fr 16
  • 17. Limitation de la bande passante à 20ko/s pour les fichiers zip <IfModule mod_bw.c> BandwidthModule On ForceBandWidthModule On LargeFileLimit .zip 1 20000 </IfModule> LightPath 2014© - http://www.jmrenouard.fr 17
  • 18. Interdiction du mode TRACE ◦TraceEnable off Autorisation exclusive des méthodes GET ou POST ◦RewriteEngine On ◦RewriteCond %{REQUEST_METHOD} ^(TRACE|OPTIONS|CONNECT) ◦RewriteRule .* - [F] LightPath 2014© - http://www.jmrenouard.fr 18
  • 19. Commenter toutes lignes LoadModule Exemple: mod_proxy LightPath 2014© - http://www.jmrenouard.fr 19
  • 20. LightPath 2014© - http://www.jmrenouard.fr 20
  • 21. Ne rien laisser indexer par les robots ◦User-agent: * ◦Disallow: / Ne pas laisser ses applications Web être indexées par Google  LightPath 2014© - http://www.jmrenouard.fr 21
  • 22. Interdiction partielle sur /admin, /images et /videos ◦User-agent: * ◦Disallow: /admin/* ◦Disallow: /images/* ◦Disallow: /videos/* LightPath 2014© - http://www.jmrenouard.fr 22
  • 23. LightPath 2014© - http://www.jmrenouard.fr 23
  • 24. Possibilité d’ajout de réécriture d’URL ◦RewriteEngine on ◦RewriteRule ([^.]+).html$ $1.php[L] LightPath 2014© - http://www.jmrenouard.fr 24
  • 25. Interdiction pour tous sur /admin Autorisation pour l’IP Directives .htaccess dans le répertoire /admin ◦Order deny,allow ◦Deny from all ◦Allow from 192.168.10.1 LightPath 2014© - http://www.jmrenouard.fr 25
  • 26. Directive du .htaccess dans le répertoire AuthName "Page d'administration protégée" AuthType Basic AuthUserFile ".htpasswd" Require valid-user LightPath 2014© - http://www.jmrenouard.fr 26
  • 27. Création du fichier Ajout d’un utilisateur jmren Mot de passe totozero00 ◦htpasswd –b .htpasswd jmren totozero00 LightPath 2014© - http://www.jmrenouard.fr 27
  • 28. LightPath: ◦Société de conseil et d’ingénierie ◦Formations, Conseil, Audit et mise en oeuvre ◦jmrenouard@lightpath.fr Jean-Marie RENOUARD ◦jmrenouard@gmail.com ◦Twitter: @jmrenouard ◦http://www.jmrenouard.fr LightPath 2014© - http://www.jmrenouard.fr 28