Google reCAPTCHA нарушает работу phpmyadmin

Добавление / включение (вы называете это) Google Captcha в конфигурации phpmyadmin заставляет меня застревать на странице входа, токен появляется в URL-адресе, но я не t получить "панель управления", так что phpmyadmin становится бесполезным. Включение отчетов об ошибках php не дало мне ничего, никаких сообщений об ошибках, даже в / var / log (apache, mysql и сам php не сообщали об ошибках). Отключение SSL или доступ через виртуальный хост, для которого не настроен SSL, ничего не меняет, присутствует та же проблема.

Теперь единственный способ получить доступ к функциям phpmyadmin - это удалить Google captcha (reCAPTCHA) из конфигурации, что для очевидных по причинам.

Дополнительная информация:

Я запускал панель phpmyadmin всегда только на локальном хосте, к которому я подключался через прокси-сервер ssh.

Но теперь у меня есть необходимость открыть панель другим пользователям, поэтому после добавления собственной виртуальный хост с SSL, который выглядит так:

<VirtualHost x.x.x.x:443>
    ServerName somehost.tld
    DocumentRoot /usr/share/phpmyadmin
    #Alias /phpmyadmin /usr/share/phpmyadmin

    ServerSignature Off
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/somehost.tld/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/somehost.tld/privkey.pem

    <Directory /usr/share/phpmyadmin>
        Options FollowSymLinks
        DirectoryIndex index.php

        <IfModule mod_php5.c>
            <IfModule mod_mime.c>
                AddType application/x-httpd-php .php
            </IfModule>
            <FilesMatch ".+\.php$">
                SetHandler application/x-httpd-php
            </FilesMatch>

            php_flag magic_quotes_gpc Off
            php_flag track_vars On
            php_flag register_globals Off
            php_admin_flag allow_url_fopen Off
            php_value include_path .
            php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
            php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/
        </IfModule>

    </Directory>

    # Authorize for setup
    <Directory /usr/share/phpmyadmin/setup>
        <IfModule mod_authz_core.c>
            <IfModule mod_authn_file.c>
                AuthType Basic
                AuthName "phpMyAdmin Setup"
                AuthUserFile /etc/phpmyadmin/htpasswd.setup
            </IfModule>
            Require valid-user
        </IfModule>
    </Directory>


    # Disallow web access to directories that don't need it
    <Directory /usr/share/phpmyadmin/libraries>
        Require all denied
    </Directory>
    <Directory /usr/share/phpmyadmin/setup/lib>
        Require all denied
</Directory>


    BrowserMatch "MSIE [2-6]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

    # MSIE 7 and newer should be able to use keepalive
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>

(я не В настройках google recaptcha у меня есть правильный домен, добавленный к этим ключам captcha.

Хост - это Debian 8, я даже попытался запустить dpkg-reconfigure phpmyadmin, чтобы убедиться, что это не просто проблема конфигурации. Это не помогло.

0
задан 11 February 2018 в 19:39
2 ответа

Я нашел решение, и теперь я чувствую себя немного глупо.

Поскольку debian 8 (jessie) установлен на хосте, у меня есть действительно старых пакетов (это не сюрприз, так как это debian).

Похоже, что phpmyadmin не был обновлен в debian, и когда google упал (или не упал, дело в том, что он больше не работает в этой версии) API reCAPTCHA v1 просто перестал работать, и я добавил в конфигурацию ключи reCAPTCHA v2.

Поэтому мне пришлось загрузить более новую версию phpmyadmin из репозитория debian 9. Я не использовал debian долгое время, поэтому я не знал, как добавить репозиторий из более новой версии и сказать apt, чтобы загрузить данный пакет и его зависимости от данного репо, как в ArchLinux или SUSE. Решением моего недостатка знаний стали следующие шаги:

wget http://ftp.cz.debian.org/debian/pool/main/p/phpmyadmin/phpmyadmin_4.6.6-4_all.deb
dpkg -i ./phpmyadmin_4.6.6-4_all.deb

dpkg выдает ошибки о неудовлетворенных зависимостях и оставляет этот пакет ненастроенным, но панель теперь работает без каких-либо других необходимых настроек ... ну ... Я получаю предупреждение в панель о "Хранилище конфигурации phpMyAdmin не полностью настроено, некоторые расширенные функции были отключены."

Но поскольку я использую эту панель только для взаимодействия с MySQL и добавления / удаления пользователей SQL, мне это все равно не нужно .. ... вероятно.

Я надеюсь, что однажды кто-то отредактирует этот ответ и добавит правильный способ установки пакета из репозитория с более новой версией.

0
ответ дан 5 December 2019 в 06:32

Ответ заключается в том, что вам следует выбирать не reCaptcha v2, а "invisile reCaptcha". У меня работал.

0
ответ дан 5 December 2019 в 06:32

Теги

Похожие вопросы