2016-06-07 75 views
1

我在phpMyAdmin上遇到了可怕的「令牌不匹配」錯誤。我的安裝住在一個流浪者/容器中,所以它是一個乾淨的系統。phpMyAdmin 4.6.2令牌不匹配

如果我將auth_type設置爲「cookie」,我只需保留在登錄頁面上,如果將其設置爲「http」,則會出現「令牌不匹配」錯誤。

phpMyAdmin的config.inc.php文件

$cfg['blowfish_secret'] = '123'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! 
$i = 0; 
$i++; 
/* Authentication type */ 
$cfg['Servers'][$i]['auth_type'] = 'http'; // or cookie 
/* Server parameters */ 
$cfg['Servers'][$i]['host'] = 'localhost'; 
$cfg['Servers'][$i]['connect_type'] = 'tcp'; 
$cfg['Servers'][$i]['compress'] = false; 
$cfg['Servers'][$i]['AllowNoPassword'] = false; 

Nginx的配置:

server 
    { 
    listen 80 default; 
    server_name dev.company.local _; 

    root /var/www/sites/dev.company.local; 

    access_log /var/log/nginx/dev.company.local-access.log combined; 
    error_log /var/log/nginx/dev.company.local-error.log notice; 
    index index.html index.php; 

    include fastcgi_portal.conf; 

    location /phpmyadmin/(.*) { 
     alias /usr/share/phpMyAdmin; 
    } 

    } 

我不會在這裏發佈我的php.ini,因爲它如此龐大的文件,但幾個選項進行配置。

事情我已經檢查:

  • session.gc_maxlifetime = 1440
  • session.save_path = /var/lib/php/session(設置爲777,還試圖/tmp
  • mcrypt的啓用
  • 清除瀏覽器Cookie等
  • 驗證了我的mysql憑證
  • 設置VM的正確時間+時區

我發現的bug報告像https://sourceforge.net/p/phpmyadmin/bugs/3893/但對我來說似乎並沒有固定:)

其他信息:

  • CentOS release 6.7 (Final)
  • nginx version: nginx/1.0.15
  • PHP 5.6.22 (fpm-fcgi) (built: May 26 2016 15:45:15)

我試過當前的phpMyAdmin版本(4.6.2),以前的版本(4.6.1)和長期版本(4.4.15.6)都一樣。

任何幫助將是偉大的!

+0

在PHP/Web服務器日誌中是否有任何錯誤? –

+0

@MichalČihař不,php-fpm和nginx錯誤日誌中都沒有。 – Matthijs

+0

瀏覽器是否接受來自phpMyAdmin的cookie?再次讀取描述符這似乎是問題 - Cookie身份驗證無法存儲憑據,但與http一個你得到令牌不匹配,因爲CSRF令牌存儲在cookie中.... –

回答

1

假設你在使用Vagrant的Docker,那很有可能是由https://github.com/phpmyadmin/docker/issues/32造成的。

它可以通過簡單地拉動新版本的容器來修復:-)。

+0

不,它是一個流浪盒I已經配置了一些可靠的腳本。 (而對於phpmyadmin的部分,它只是簡單地獲取壓縮文件並提取它) – Matthijs

0

我得到了,確切地說是和你在我的Apache的安全加固後描述的一樣。 對我來說,這竟然是打破phpMyAdmin的如下:

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure 

註釋掉它並重新啓動httpd的一切再次合作之後。

假設上面的頭文件設置是爲了緩解在cookie中使用HttpOnly和Secure標誌的大多數常見跨站腳本攻擊,但看起來像PMA開發人員尚未完全考慮這種情況。