"액티비티로 인해 페이지가 만료되었습니다." - Larabel 5.5
페이지에 (CsrfToken이 있는 됩니다.{{ csrf_field() }}
)의
HTML 폼
<form class="form-horizontal registration-form" novalidate method="POST" action="{{ route('register') }}">
{{ csrf_field() }}
....
</form>
사용자용 임베디드 인증을 사용하고 있습니다.루트 및 리다이렉트 이외의 변경은 없습니다.
양식을 제출하면(새로고침 직후에도) 비활성 상태로 인해 페이지가 만료되었습니다. 새로 고친 후 다시 시도하십시오.에러입니다.
아주 작은 것을 놓치고 있어요.하지만 그게 뭔지는 확실치 않아.도움이 필요하신가요?
갱신하다
문제를 발견했다.세션 드라이버가 어레이로 설정되었습니다.파일을 파일로 변경해, 에러가 해소되었습니다.하지만 어레이를 사용하면 뭐가 문제죠?
검색에서 직접 이 답변에 액세스하려면 csrf 토큰을 폼에 이미 추가했는지 확인하십시오.{{ csrf_field() }}
OP
세션 드라이버가 파일로 설정되어 있는 경우:
writable.storage_path와 수 .파일 기반 세션을 사용하는 경우 토큰에 대한 세션 데이터를 저장합니다.는 the, 음음음음음 the the the the the the the the the the로 확인할 수 .is_writable(config('session.files'))
OP의 경우 세션 드라이버가 배열로 설정되었습니다.어레이는 테스트 전용입니다.데이터는 유지되지 않으므로 다음 요청 시 토큰을 비교할 수 없습니다.
어레이 드라이버는 테스트 중에 사용되며 세션에 저장된 데이터가 유지되지 않도록 합니다.
https://laravel.com/docs/5.5/session#configuration
구성/세션을 확인합니다.php
마지막으로 방금 전에 문제가 있었습니다만, 세션 도메인과 설정/세션의 시큐어 설정을 가지는 프로젝트가 있었습니다.php 하지만 개발 사이트에서 HTTPS(SSL/TLS)를 사용하지 않았습니다.이로 인해 sessions.secure가 기본적으로 true로 설정되어 있기 때문에 이 일반적인 오류가 발생했습니다.
Laravel 5.5에서도 같은 문제가 발생했습니다.제 경우 GET에서 POST로 경로를 변경한 후 발생하였습니다.문제는 POST로 전환했을 때 CSRF 토큰을 전달하는 것을 잊어버렸기 때문입니다.
CSRF 토큰은 다음 중 하나를 호출하여 폼에 게시할 수 있습니다.
{{ csrf_field() }}
또는 app/Http/Middleware/VerifyCsrfToken.php에서 루트를 제외합니다.
protected $except = [
'your/route'
];
다 먹어봐.
composer dump-autoload
php artisan optimize
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
은 「」이 입니다.Illuminate\Session\TokenMismatchException
하는 방법을 설명합니다.
내 사건은 로 해결되었다.SESSION_DOMAIN
로컬 머신의 경우 로 설정해야 합니다.xxx.localhost
생산과 갈등을 일으키고 있었다.SESSION_DOMAIN
,xxx.com
세션에서 직접 설정된 것입니다.php config 파일.
일부 정보는 개발 중인 이전 버전의 라라벨과 관련된 쿠키에 저장됩니다.따라서 다른 버전의 CSRF에서 생성된 토큰과 충돌합니다.쿠키를 지우고 시도해 보세요.
아직 문제가 있지만 아무 도움도 없는 사람들을 위해.php.ini mbstring에 주의하십시오.func_parameter 입니다.0으로 설정해야 합니다.그리고 mbstring.internal_encoding은 UTF-8로 설정되어 있습니다.이 경우는 문제가 있었습니다.
스토리지로 권한을 변경했는데 오류가 사라졌습니다.허락이 없는 것이 문제였던 것 같다.
sudo chmod -R 775 storage/
더하다@csrf
VerifyCsrfToken.php로 이동합니다.
app -> Http -> 미들웨어 -> VerifyCsrfToken.php
protected $except = [
'paste your route here'
];
내 경우, 서버는 정상이었지만 로컬은 아니었다.그때 보안 웹사이트에서 작업하던 게 생각나네요
파일 구성입니다.session.secure 변수를 false로 설정합니다.
'secure' => env('SESSION_SECURE_COOKIE', false),
단답
루트 엔트리를 추가합니다.register
에app/Http/Middleware/VerifyCsrfToken.php
protected $except = [
'/routeTo/register'
];
다음 명령어를 사용하여 캐시 및 캐시 루트를 클리어합니다.
php artisan cache:clear && php artisan route:clear
세부 사항
Laravel 사이트에 액세스할 때마다 세션이 시작되지 않았더라도 토큰이 생성됩니다.그런 다음 각 요청에서 이 토큰(쿠키에 저장됨)은 유효기간과 비교하여 검증됩니다.SESSION_LIFETIME
에 참가하다.config/session.php
파일.
사이트를 유효기간 이상 열어두고 요청을 시도하면 이 토큰이 평가되어 유효기간 오류가 반환됩니다.따라서 인증된 사용자의 기능(등록 또는 로그인 등) 밖에 있는 폼에서 이 검증을 건너뛰려면 except route를 에 추가할 수 있습니다.app/Http/Middleware/VerifyCsrfToken.php
.
이러한 오류를 피하기 위한 두 가지 방법을 알아냈습니다 1) 정의된 루트에서 protected $except = ['/yourroute'] possible disable csrf token inspection을 추가합니다.2) 코멘트 \App\Http\Middleware\VerifyCsrfToken::커널의 보호된 미들웨어 그룹의 클래스 라인만 입력합니다.
여러 서브도메인이 있는 앱을 가지고 있었는데, 그 사이에서 세션 쿠키가 문제였습니다.쿠키를 지우면 문제가 해결되었습니다.
,, 정, 정, 정, 세, also 、 。SESSION_DOMAIN
.env 파일에 있습니다.참조하고 있는 서브도메인을 사용합니다.
웹 서버의 시스템 시각이 올바른지 확인하십시오.제 경우, vagrant 머신은 미래(1월 26일 14:08:26 UTC 2226)에 있기 때문에 당연히 제 브라우저의 세션 쿠키의 시간은 약 200년 전에 만료되었습니다.
set mbstring 입니다.func_module = 2
그것은 나에게 도움이 되었다
저도 같은 문제가 있었는데 문제는 프레임워크가 아니라 브라우저에 있습니다.왜 그런지 모르겠지만 구글 크롬은 자동으로 쿠키를 차단합니다.쿠키를 허용한 후 문제가 해결되었습니다.
많은 경우 프로젝트를 과거 날짜로 테스트하고 있기 때문에 이 문제가 발생합니다.
솔루션:
신분을 알 수 없는 새 탭을 사용한 후 다시 테스트합니다.
이유:
내 경우 다른 사용자가 내 관리 패널로 로그인한 경우
Linux-mint에서도 같은 문제가 발생했지만 htdocs 폴더에는 완전한 권한이 없습니다. 모든 을 다음과 했습니다.sudo chown -c -R $USER:$USER /opt/lampp/htdocs/*
서버에 접속하려면 , 서명해 주세요.
검색 오류
오류가 발생했습니다. false 검색: 권한이 없습니다.
검색 요청이 더 깁니다.
언급URL : https://stackoverflow.com/questions/46141705/the-page-has-expired-due-to-inactivity-laravel-5-5
'it-source' 카테고리의 다른 글
각도로 $on 및 $120 (0) | 2023.01.03 |
---|---|
to_sql 및 sqlalchemy를 사용한 mariadb 데이터베이스로의 panda 데이터 프레임 (0) | 2022.12.29 |
Mysql 서비스가 없습니다. (0) | 2022.12.29 |
로컬 시간 문자열을 UTC로 변환하려면 어떻게 해야 합니까? (0) | 2022.12.29 |
.htaccess에서 upload_max_filesize를 설정하는 방법 (0) | 2022.12.29 |