web-dev-qa-db-ja.com

新しいxamppセキュリティコンセプト:アクセス禁止エラー403-Windows 7-phpMyAdmin

Windows 7 UltimateにXAMPP 1.8.1 for Windowsをダウンロードしてインストールしました。これらのようにIISと一緒に実行するようにXAMPPを設定しました 指示

これまでのところ、私のPHPサイトはローカルで実行されており、phpMyAdmin以外のすべてはXAMPPメニューから利用できます。

ただし、phpMyAdminにアクセスしようとすると、次のエラーが表示されます。

アクセス禁止!

新しいXAMPPセキュリティの概念:

要求されたディレクトリへのアクセスは、ローカルネットワークからのみ可能です。

この設定は、ファイル「httpd-xampp.conf」で構成できます。

Googleを介していくつかの回答を見つけ、このサイトでいくつかを見つけました。ただし、これまでのところ、私が試した解決策のどれも問題を解決していません。

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>

誰かが私が何を失っているのかについて何か考えがありますか?

47
user3202433

必要なのは、httpd-xampp.confを編集することだけです

fromローカルが必要からすべての付与が必要 LocationMatchタグ内。

それでおしまい!

80

In New Xampp

ファイルを編集するだけです。

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

以下のようにディレクトリタグに移動します:

<ディレクトリ「C:/ xampp/phpMyAdmin」>

そして、変更

ローカルが必要

すべての付与が必要

directoryタグ内。

Xamppを再起動します。それでおしまい!

24
TheMohanAhuja

付与されたすべてを要求することは、私には少し遠いように思えました。私が使用したドキュメントを見て:Require ip 192.168すべての内部アクセスを許可します。

<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>
16
    <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">

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

幸運を!!!!

12
garatu

2つのファイルを編集する必要があります-1. httpd-vhosts.conf&2. httpd-xampp.conf

注:バックアップファイル(httpd-xampp.conf)および(httpd-vhosts.conf)を確認してください。両方のファイルがDrive:\ xampp\Apache\conf\extraにあります。

Httpd-vhosts.confファイルを開き、ファイルの下部で変更します

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

ここで、E:/ xamppは私のプロジェクトワークスペースです。設定に従って変更できます。

2番目の変更はhttpd-xampp.confファイルにあり、ファイルの下部で変更します

#
# 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

XAMPPの新しいバージョンを再インストールしてみてください。 「<Directory "C:/xampp/php">」を見つけて、次のように変更します

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

Httpd-xampp.confのRequire localという行をコメント化します。
Apacheを再起動します。
携帯電話をPCのテストWebサイトに接続してくれました。セキュリティへの影響はわかりません。

3
G O'Rilla

削除するだけです:

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

からphpmyadminを削除します:

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

回答の中には正しいものもありますが、新しいxamppで作業する場合、または他の回答で機能しないものがある場合は、これを試してください。

xamppフォルダーに移動するだけです。

xampp/Apache/conf/extra/httpd-xampp.c­onf

ネットワークのローカルIPからアクセスしようとしている場合は、変更します。

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

変更先:

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

注:これはテキスト用です。xamppのセキュリティには検索機能があります。

2
SAR

ローカルネットワーク以外の要求されたディレクトリにアクセスするには、ファイル「httpd-xampp.conf」で設定されているXAMPP security conceptを変更する必要があります。

  • ファイルの場所xampp\Apache\conf\extra\httpd-xampp.conf

ディレクティブが必要リソースにアクセスできる認証済みユーザーを選択します

構文"Require entity-name [entity-name] ...

"XAMPPセキュリティコンセプトでは、ローカル環境のみが許可されます-ローカルが必要

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

"XAMPPセキュリティコンセプトにより、あらゆる環境が可能になります-すべての許可が必要

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

アクセス禁止!HTMLページからのメッセージ。

enter image description here


Allow Directiveサーバーの領域にアクセスできるホストを制御します

構文"Allow from all|Host|env=[!]env-variable [Host|env=[!]env-variable] ...

ローカル環境のみを許可します。以下に指定されたURLのいずれかを使用します。

  • 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>
    

指定された IPv4IPv6 アドレススペースのみに許可します。

  • IPv4のリンクローカルアドレスは、CIDR表記のアドレスブロック169.254.0.0/16で定義されています。 IPv6では、アドレスブロックが割り当てられます fe80::/10
  • 一意のローカルアドレス(ULA)は、ブロック内のIPv6アドレスです 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>
    

ネットワークアドレス を許可します。 すべてから許可

<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 コントロールパネル:Apache HTTPサーバーを起動できません

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

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

必須のデフォルトApache HTTPサーバーポート80は、実際には他のサービスによって使用されます。

  • ポート80で実行されているサービスを見つけて停止し、Apache HTTPサーバーを起動する必要があります。

    Netstat を使用して、アクティブなTCP接続、コンピューターがリッスンしているポートを表示します。

     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.
    
  • メインのApache HTTPサーバー設定ファイルD:\xampp\Apache\conf\httpd.confのリスニングポートを変更します。 例:81Listen 80からListen 81へ、アクセスURLは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
    

httpd and virtual Host on XAMPP に関連する詳細情報

2
Yash

Xampppath\Apache\conf\extraでファイルhttpd-xampp.confを開き、以下のタグを見つけます。

<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   

Allow from allの後にAllow from ::1 127.0.0.0/8 {line}を追加します

Xamppを再起動すると、完了です。

1
Amit Chauhan

これは間違った構成が原因である可能性があります。特に、otherサイトが正常に機能している場合です。

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

DocumentRootで1つのフォルダーを指定し、Directoryで別のフォルダーを指定しているため、403エラーに注意してください。これで問題が解決しました。

0
Hammad Khan

私はすべてを試しましたが、何も機能しませんでした。だから私は使用しました:htdocsにchmod -R 777。少なくともそれは私の地元だけです。

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

この理由は、Skypeも同様です。デフォルトのXAMPP設定を使用する場合、両方とも同じポート(80)で実行されます。あなたはできる:

  • Skypeをオフにする
  • XAMPPポートを変更する
0
Hristiyan Dodov

buntu(Linux)

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

 Comment "Deny from all" in the following section,

ファイルの変更

# 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

「Bitnami」インストーラーでビルドされ、Apache 2.4.xを含む新しいXAMPP(PHP 5.6、7など)を使用している場合は、これが適用されます。

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

2.2構成:

Order allow,deny
Allow from all

2.4構成:

Require all granted

これは、カスタム仮想ホスト定義がある場合、VirtualHostセクションにも適用されます。

0
site80443

多くの場合、これは許可の問題ですが、私にとっては、送信しようとしたフォームの間違いが原因でエラーが発生したことがわかりました。具体的には、「アクション」の値の後に誤って「>」記号を置いていました。だから私はあなたのコードをもう一度見ることをお勧めします

0
Fred