web-dev-qa-db-fra.com

Nouveau concept de sécurité xampp: erreur d'accès interdite 403 - Windows 7 - phpMyAdmin

J'ai téléchargé et installé XAMPP 1.8.1 pour Windows sur Windows 7 Ultimate. J'ai configuré XAMPP pour s'exécuter avec IIS conformément à ces instructions

Jusqu'ici, tout va bien, mes sites PHP fonctionnent localement et tout, sauf phpMyAdmin, est disponible dans le menu XAMPP.

Cependant, lorsque j'essaie d'accéder à phpMyAdmin, le message d'erreur suivant s'affiche:

Accès interdit!

Nouveau concept de sécurité XAMPP:

L'accès au répertoire demandé est uniquement disponible à partir du fichier local réseau.

Ce paramètre peut être configuré dans le fichier "httpd-xampp.conf".

J'ai trouvé plusieurs réponses via Google et certaines sur ce site. Cependant, jusqu'à présent, aucune des solutions que j'ai essayées n'a résolu le problème.

Voici mon fichier httpd-xampp.conf:

#
# XAMPP settings
#

<IfModule env_module>
    SetEnv MIBDIRS "C:/xampp/php/extras/mibs"
    SetEnv MYSQL_HOME "\\xampp\\mysql\\bin"
    SetEnv OPENSSL_CONF "C:/xampp/Apache/bin/openssl.cnf"
    SetEnv PHP_PEAR_SYSCONF_DIR "\\xampp\\php"
    SetEnv PHPRC "\\xampp\\php"
    SetEnv TMP "\\xampp\\tmp"
</IfModule>

#
# PHP-Module setup
#
LoadFile "C:/xampp/php/php5ts.dll"
LoadModule php5_module "C:/xampp/php/php5Apache2_4.dll"

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

#
# PHP-CGI setup
#
#<FilesMatch "\.php$">
#    SetHandler application/x-httpd-php-cgi
#</FilesMatch>
#<IfModule actions_module>
#    Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"
#</IfModule>


<IfModule php5_module>
    PHPINIDir "C:/xampp/php"
</IfModule>

<IfModule mime_module>
    AddType text/html .php .phps
</IfModule>

ScriptAlias /php-cgi/ "C:/xampp/php/"
<Directory "C:/xampp/php">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
          Require all granted
    </Files>
</Directory>

<Directory "C:/xampp/cgi-bin">
    <FilesMatch "\.php$">
        SetHandler cgi-script
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler None
    </FilesMatch>
</Directory>

<Directory "C:/xampp/htdocs/xampp">
    <IfModule php5_module>
        <Files "status.php">
            php_admin_flag safe_mode off
        </Files>
    </IfModule>
    AllowOverride AuthConfig
</Directory>

<IfModule alias_module>
    Alias /security "C:/xampp/security/htdocs/"
    <Directory "C:/xampp/security/htdocs">
        <IfModule php5_module>
            <Files "xamppsecurity.php">
                php_admin_flag safe_mode off
            </Files>
        </IfModule>
        AllowOverride AuthConfig
        Require all granted
   </Directory>

    Alias /licenses "C:/xampp/licenses/"
    <Directory "C:/xampp/licenses">
        Options +Indexes
        <IfModule autoindex_color_module>
            DirectoryIndexTextColor  "#000000"
            DirectoryIndexBGColor "#f8e8a0"
            DirectoryIndexLinkColor "#bb3902"
            DirectoryIndexVLinkColor "#bb3902"
            DirectoryIndexALinkColor "#bb3902"
        </IfModule>
        Require all granted
   </Directory>

    Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
    <Directory "C:/xampp/phpMyAdmin">
        AllowOverride AuthConfig Limit
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

    Alias /webalizer "C:/xampp/webalizer/"
    <Directory "C:/xampp/webalizer">
        <IfModule php5_module>
            <Files "webalizer.php">
                php_admin_flag safe_mode off
            </Files>
        </IfModule>
        AllowOverride AuthConfig
        Require all granted
    </Directory>
</IfModule>

#
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    Allow from all
    Require all granted

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

Est-ce que quelqu'un a une idée de ce qui me manque?

40
user3202433

Tout ce que vous avez à faire est d’éditer le fichier httpd-xampp.conf

from Requiert local à Requiert tous les droits accordés dans la balise LocationMatch.

C'est tout!

74
Messerchtmitt Longbow

Dans New Xampp

Tout ce que vous avez à faire est d’éditer le fichier:

C:\xampp\Apache\conf\extra\httpd-xampp.conf

et allez à la balise Directory comme ci-dessous:

<Répertoire "C:/xampp/phpMyAdmin">

et ensuite changer 

Exiger local

À

Exiger tout accordé

dans la balise Directory.

Redémarrez le Xampp. C'est tout!

19
TheMohanAhuja

Exiger que tout soit accordé semblait un peu trop loin pour moi. En regardant la documentation que j'ai utilisée: Require ip 192.168 pour autoriser tous les accès internes.

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Require local
    Require ip 192.168
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
14
Gunnar Bernstein
    <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">

        Require all granted
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

Bonne chance!!!!

12
garatu

Vous devrez éditer 2 fichiers - 1. httpd-vhosts.conf & 2. httpd-xampp.conf

REMARQUE: Assurez-vous que les fichiers de sauvegarde (httpd-xampp.conf) et ( Httpd-vhosts.conf) sont situés dans Lecteur:\xampp\Apache\conf\extra

Ouvrez le fichier httpd-vhosts.conf et changez-le en bas du fichier.

<VirtualHost *:80>
DocumentRoot “E:/xampp/htdocs/”
ServerName localhost
<Directory E:/xampp/htdocs/>.
Require all granted 
</Directory>
</VirtualHost>

Ici, E:/xampp est l’espace de travail de mon projet, vous pouvez le modifier selon vos paramètres. 

et Second Change est sur le fichier httpd-xampp.conf et changez-le au bas du fichier.

#
# New XAMPP security concept
#
<LocationMatch “^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))”>
Order deny,allow
Allow from all
Allow from ::1 127.0.0.0/8
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
9
Sanyam Jain

Essayez de réinstaller la nouvelle version de XAMPP. Trouvez "<Directory "C:/xampp/php">" puis changez pour quelque chose comme ceci

<Directory "C:/xampp/php">
    AllowOverride AuthConfig Limit
    Order allow,deny
    Allow from all
    Require all granted
</Directory>
7
Great Question

Mettez en commentaire la ligne Require local dans httpd-xampp.conf.
Redémarrez Apache.
Travaillé pour moi en connectant mon téléphone portable au site Web de test sur mon PC Aucune idée des conséquences en termes de sécurité.

3
G O'Rilla

il suffit de retirer:

Alias /phpmyadmin "C:/xampp2/phpMyAdmin/"
<Directory "C:/xampp2/phpMyAdmin">
    AllowOverride AuthConfig
    Require all granted
</Directory>

et retirez phpmyadmin de:

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|server-status|server-info))">
2
Zuben45

Certaines réponses sont correctes, mais si vous travaillez avec un nouveau xampp ou avec un autre qui ne fonctionne pas, essayez ceci:

il suffit d'aller dans le dossier xampp: 

xampp/Apache/conf/extra/httpd-xampp.conf

et si vous essayez d'accéder à partir de l'adresse IP locale de votre réseau, changez-le, 

 Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
    <Directory "C:/xampp/phpMyAdmin">
        AllowOverride AuthConfig
        Require local
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </Directory>

Changer pour:

 Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
    <Directory "C:/xampp/phpMyAdmin">
        AllowOverride AuthConfig
        Require all granted
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </Directory>

Note: ceci est juste pour le texte, pour la sécurité du xampp a une recherche ....

2
SAR

Pour accéder au répertoire demandé autre que le réseau local, vous devez modifier le XAMPP security concept Configuré dans le fichier "httpd-xampp.conf".

  • Emplacement du fichier xampp\Apache\conf\extra\httpd-xampp.conf

Require Directive Sélectionne les utilisateurs authentifiés pouvant accéder à une ressource.

Syntaxe «Require entity-name [entity-name] ...

De «Le concept de sécurité XAMPP permet uniquement l'environnement local - Require local

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
        Require local
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

Pour «Le concept de sécurité XAMPP autorise tous les environnements - Exiger que tous soient accordés

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
        Require all granted
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

Accès interdit! Message de la page HTML.

 enter image description here


Autoriser la directive Contrôle les hôtes qui peuvent accéder à une zone du serveur.

Syntaxe «Allow from all|Host|env=[!]env-variable [Host|env=[!]env-variable] ...

Autoriser uniquement l'environnement local. Utiliser l’une des URL spécifiées ci-dessous.

  • http://localhost/phpmyadmin/
  • http://127.0.0.1/phpmyadmin/

    <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
        Order deny,allow
        Deny from all
        Allow from ::1 127.0.0.0/8 \
    
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </LocationMatch>
    

Autoriser uniquement les espaces d'adressage IPv4 , IPv6 spécifiés.

  • Les adresses de liaison locale pour IPv4 sont définies dans le bloc d'adresses 169.254.0.0/16 en notation CIDR. Dans IPv6, le bloc d’adresses leur est attribué fe80::/10
  • Une adresse locale unique (ULA) est une adresse IPv6 dans le bloc fc00::/7

    <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
        Order deny,allow
        Deny from all
        Allow from ::1 127.0.0.0/8 \
            fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
            fe80::/10 169.254.0.0/16
    
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </LocationMatch>
    

Permettant n'importe quel adresse réseau . Autoriser de tous

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    Allow from all

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

404 - XAMPP Panneau de configuration: Impossible de démarrer le serveur HTTP Apache.

URL: http://localhost/xampp/index.php

Error « 
    Not Found
    HTTP Error 404. The requested resource is not found.

Le port de serveur HTTP Apache par défaut requis 80 est actuellement utilisé par un autre service. 

  • Vous devez rechercher le service qui fonctionne avec le port 80 et l'arrêter, puis démarrer le serveur HTTP Apache.

    Utilisez Netstat pour afficher les connexions TCP actives, les ports sur lesquels l’ordinateur écoute.

     C:\Users\yashwanth.m>netstat -ano
    
      Active Connections
    
      Proto  Local Address          Foreign Address        State           PID
      TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       2920
      TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       1124
    
      TCP    127.0.0.1:5354         0.0.0.0:0              LISTENING       3340
    
      TCP    [::]:80                [::]:0                 LISTENING       2920
    
    C:\Users\yashwanth.m>netstat -ano |findstr 2920
      TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       2920
      TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       2920
      TCP    [::]:80                [::]:0                 LISTENING       2920
      TCP    [::]:443               [::]:0                 LISTENING       2920
    
    C:\Users\yashwanth.m>taskkill /pid 2920 /F
      SUCCESS: The process with PID 2920 has been terminated.
    
  • Modifiez le port d'écoute à partir du fichier de configuration du serveur HTTP Apache principal, D:\xampp\Apache\conf\httpd.conf. Ex: 81. De Listen 80 À Listen 81, l'URL d'accès sera http://localhost:81/xampp/index.php.

    # Change this to Listen on specific IP addresses as shown below to 
    # prevent Apache from glomming onto all bound IP addresses.
    #
    #Listen 0.0.0.0:80
    #Listen [::]:80
    Listen 80
    

Pour plus d’informations sur httpd and virtual Host on XAMPP

2
Yash

Une raison à cela pourrait être aussi Skype! Si vous utilisez les paramètres XAMPP par défaut, ils s'exécuteront tous deux sur le même port (80). Vous pouvez:

  • Désactiver Skype
  • Changer le port XAMPP
1
Hristiyan Dodov

Dans votre fichier xampppath\Apache\conf\extra ouvert le fichier httpd-xampp.conf et recherchez la balise ci-dessous:

<LocationMatch "^/(?i:(?:xampp|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 
ErrorDocument 403   /error/HTTP_XAMPP_FORBIDDEN.html.var   

et ajoutez Allow from all après Allow from ::1 127.0.0.0/8 {line}

Redémarrez xampp et vous avez terminé.

1
Amit Chauhan

Cela peut être dû à une mauvaise configuration, en particulier si vos sites autres fonctionnent correctement.

<VirtualHost cmsdemo.git:88>
    DocumentRoot "C:/Projects/rwp/"
    ServerName cmsdemo.git
    <Directory C:/Projects/cmsdemo/>
        Require all granted 
        AllowOverride All
    </Directory>
</VirtualHost>

Avis dans DocumentRoot Je spécifie un dossier et dans Répertoire , je spécifie un autre d'où 403 Error. Cela a résolu mon problème.

0
Hammad Khan

J'ai tout essayé mais rien n'a fonctionné. Je viens donc d'utiliser: chmod -R 777 to htdocs. Au moins c'est seulement chez moi. 

0
tyegah123

G:\xampp\Apache\conf\extra\httpd-vhosts.conf

#start block
NameVirtualHost *:80

<VirtualHost *:80>
   ServerName localhost
   #change your directory name
   DocumentRoot "G:\xampp\htdocs"
</VirtualHost>

#Your vertual Host
<VirtualHost *:80>
    DocumentRoot "G:/xampp/htdocs/dev2018/guessbook"
    ServerName dev.foreign-recruitment
    <Directory "G:/xampp/htdocs/dev2018/guessbook/">

    </Directory>
</VirtualHost>
#end block
0
Ram Pukar

Ubuntu (Linux)

: - $ Sudo gedit /opt/lampp/etc/extra/httpd-xampp.conf

 Comment "Deny from all" in the following section,

Changer de fichier

# New XAMPP security concept
# <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow

   #Deny from all
   #Require local
    Allow from ::1 127.0.0.0/8 \
            fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
            fe80::/10 169.254.0.0/16

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

0
JItendra

Si vous utilisez un XAMPP plus récent (par exemple pour PHP 5.6, 7), construit avec le programme d'installation "Bitnami" et incluant Apache 2.4.x, ceci s'applique:

https://httpd.Apache.org/docs/2.4/upgrading.html#run- time

2.2 configuration:

Order allow,deny
Allow from all

2.4 configuration:

Require all granted

Cela s'applique également aux sections VirtualHost, si vous avez des définitions virtualhost personnalisées.

0
site80443

Pour beaucoup, il s'agit d'un problème d'autorisation, mais pour moi, il s'avère que l'erreur a été provoquée par une erreur dans le formulaire que j'essayais de soumettre. Pour être précis, j'avais accidentellement mis le signe ">" après la valeur de "action". Donc, je vous suggère de jeter un deuxième coup d'oeil à votre code

0
Fred