我丢失了生产服务器上的Session Every Request // TokenMismatchException

时间:2017-07-27 10:38:16

标签: php session laravel-5.4

我是laravel的新手,并且已经编程了2周,并且陷入了部署问题。

我的本​​地机器:带有PHP Storm的Windows 10,MySql和我在artisan serve上运行 在生产中,它在https://www.trim.finance

上运行

我的问题是,在本地一切都在我的程序状态下工作,但直播我得到TOKEN Missmatch错误,因为我的会话密钥被重写每个请求。本地会话看起来没有旧的数据和previuos链接等等,但只有KEY。

也许这很有帮助。在Strato上我强迫网站运行在HTTPS本地,我不知道,因为我不知道我将如何工匠要求。

我尝试了最后几天让它运行但没有一个clou。 我在末尾插入一个按钮以显示session-> all()并将其路由到/ session。

我的耻辱我在produktion服务器上传了env文件,使两者更相似。

  服务器上的

.env文件

APP_ENV=local
APP_LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=**
DB_PORT=3306
DB_DATABASE=**
DB_USERNAME=**
DB_PASSWORD=**

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=mailgun
MAIL_DOMAIN=https://api.**
MAIL_SECRET=key-**
  

服务器上的config / app.php

return [
'name' => env('APP_NAME', 'tRIM'),
'env' => env('APP_ENV', 'local'),
'debug' => env('APP_DEBUG', true),
'url' => env('APP_URL', 'https://www.trim.finance'),
'timezone' => 'Europe/Berlin',
'locale' => 'en',
'fallback_locale' => 'de',
'key' => env('APP_KEY', 'base64:KEYCODE'),
'cipher' => 'AES-256-CBC',
'log' => env('APP_LOG', 'single'),
]
  

服务器上的config / session.php

return [
'driver' => env('SESSION_DRIVER', 'database'),
'lifetime' => 60000,
'expire_on_close' => false,
'encrypt' => true,
'files' => storage_path('framework/sessions'),
'connection' => 'mysql',
'table' => 'sessions',
'store' => null,
'lottery' => [2, 100],
'cookie' => 'trim_session',
'path' => '/',
'domain' => null,
'secure' => env('SESSION_SECURE_COOKIE', true),
'http_only' => false,
];
  

测试1:请尝试注册/注册以查看问题。 (每个数据都是假的,所以请随意尝试。)

     

测试2:尝试创建新的地址/create

我的诽谤让我到目前为止

  1. 问题仅在于生产方面。 (我已经删除了漏洞webServer并再次复制了所有数据,以查看是否有丢失的东西在线更改。)本地工作。

  2. 每次获取请求都不需要会话,所以没有任何伤害。

    • 但是我插入了一个SESSION按钮来查看数据,每次刷新页面都会生成一个新的session [_token"]
  3. 由于TokenMismatchException,EveryPost请求无法通过。{li>

    • 我编辑了TokenMismatchException匹配的内容以及每次生成新的Session _token
    • 我缩短了令牌比较,并且确实没有通过,因为Laravels的安全功能。
  4. 使用{{Form:model}}或{{Form:open}}等刀片生成

    表单 生成

    
    
    <input type="hidden" name="_token" value="S1d...">
    &#13;
    &#13;
    &#13;

    会话存储在数据库中,每行请求一行.. 似乎太多 ..每个会话一行应该。这是我数据库中的一个例子。我是从Artisan session:table

    生成的

    我在网站上刷了一下。

    | id | user_id | ip_address | user_agent |有效载荷| last_activity | | bf4QOHxQAMvrTgGw0PfidIKmHd0hRrAt86FPVYWz | NULL | 2a02:8109:a40:2f20:403d:806a:5818:dbf3 | Mozilla / 5.0 ... | ZXlKcGRpSTZJblV3UkhoY ... | 1501147035 |

    | I0sg8K8zvSQS1a1vN2OOTYnKVnsVJQP3kv4ZxtqT | NULL | 2a02:8109:a40:2f20:403d:806a:5818:dbf3 | Mozilla / 5.0 ... | ZXlKcGRpSTZJbE5WYkVOT ... | 1501146839 |

0 个答案:

没有答案