Yii2:添加SSL证书时会话缓存问题

时间:2018-07-08 13:57:00

标签: php ssl yii yii2

我正在使用Yii 2.0.12和php 7.1。问题是,当我将SSL证书添加到我的网站时,当我第二次使用POST操作来验证表单时,它会引发错误。错误是Unable to verify your data submission.

我的意思是:例如,我去联系页面并第一次进行POST操作。一切都好。当我第二次执行所有下一次操作时,会引发错误。 但是,如果我每次都向site.com/contacts?test=1之类的页面添加随机参数,一切都会很好。

我猜是问题在于会话验证(也许是csrf)。

我从缓存文件中清除了.htaccess:

Options -Indexes

<IfModule mod_rewrite.c> 
  RewriteEngine on

  # SSL redirect
  RewriteCond %{ENV:HTTPS} !on
  RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

  RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

  RewriteCond %{REQUEST_URI} !^public
  RewriteRule ^(.*)$ frontend/web/$1 [L] 
</IfModule>

# Deny accessing below extensions
<Files ~ "(.lock|.git)">
Order allow,deny
Deny from all
</Files>

# Deny accessing dot files
RewriteRule (^\.|/\.) - [F]

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule . index.php

我还从session中删除了common.php

// 'session' => [
//     'class' => 'yii\web\DbSession',
//     'db' => 'db',
//     'sessionTable' => 'session',
// ],

我还从httpCache中删除了behaviors()

另一方面,在localhost上我没有这个问题。仅在添加SSL之后。我的网络托管包括php模块:

ctype, curl, dom, fileinfo, filter, ftp, gd, hash, iconv, imagick, intl, json, mbstring, mcrypt, mysqli, opcache, openssl, pdo, pdo_mysql, session, simplexml, soap, sockets, timezonedb, tokenizer, xml, xmlreader, xmlwriter, xsl, zip

Apache:

autoindex_module, cgi_module, expires_module, headers_module, php_module, rewrite_module, 

有什么问题吗?

0 个答案:

没有答案