Laravel'de istek gönderin - Hata - 419 Üzgünüz, oturumunuz / 419 sayfanızın süresi doldu


90

Laravel 5.7'yi kurdum

Dosyaya bir form eklendi \resources\views\welcome.blade.php

<form method="POST" action="/foo" >
    @csrf
    <input type="text" name="name"/><br/>
    <input type="submit" value="Add"/>
</form>

Dosyaya eklendi \routes\web.php

Route::post('/foo', function () {
    echo 1;
    return;
});

POST isteği gönderdikten sonra:

419 Üzgünüz, oturumunuzun süresi doldu. Lütfen yenileyin ve tekrar deneyin.

Versiyonda 5.6böyle bir sorun yoktu.


Yönlendirme eklemeyi denediniz mi? Yerine return;arayabilirsin return redirect()->back();. Gördüğüm kadarıyla, gönderi talebinden sonra uygulamanın yapacak hiçbir şeyi yok. Belki isteği işledikten sonra onu bir görünüme yeniden yönlendirebilirsiniz.
dcangulo

1
Ben de aynı sorunu yaşıyorum. İ veritabanı oturumu geçtiğinizde bu olursa ve ben geri değiştirdiğinizde fileiçin SESSION_DRIVERde .envo para cezası çalışır. Veritabanı tabanlı oturum neden çalışmıyor?
Junaid Qadir Shekhanzai

Tam kodunuzu yeni bir laravel 5.7 kurulumuna kopyaladım. İşe yaradı. Başka bir yerde bir sorun var.
Kyle Wardle

belirteç sorunu nedeniyle bu sorun. Bunun gibi aynı kodu çalıştırmayı denedim ama hata almadım. Formda oturum sürücünüz, _token değer ekranı gibi daha fazla bilgi vermelisiniz. Ayrıca, vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.phpnedenini öğrenmek için bu dosya satırında 67 hata ayıklayabilirsiniz
bangnokia

1
sessionsMasayı farklı bir amaç için kullandığımı fark ettim . Bu tablonun adını daha uygun bir adla değiştirdikten artisan session:tableve göçü yeniledikten sonra her şey yolunda
gidiyor

Yanıtlar:


123

Marka altında okumaya başlamadan önce emin olması @csrfya {{ csrf_field() }}da formda gibi

<form method="post">
@csrf <!-- {{ csrf_field() }} -->
... rest of form ...
</form>

Larvel'de Oturum Süresi Doldu veya 419 Sayfa Süresi Doldu hata mesajı çıkıyor çünkü bir yerde csrf belirteç doğrulamanız başarısız oluyor, bu da App\Http\Middleware\VerifyCsrfToken::classara yazılımın zaten açık olduğu anlamına geliyor . Formda @csrfbıçak direktif zaten ince yanı olması gereken eklenir.

Sonra kontrol edilecek diğer alan seans. csrfEğer oturum sürücüsü sorunu neden olabilir böyle bir yanlış yapılandırılmış REDIS olarak çalışma olup olmadığını kontrol etmek isteyebilirsiniz Yani belirteç doğrulama doğrudan sizin oturum ile ilgilenmektedir.

Belki oturum sürücünüzü / yazılımınızı .envdosyanızdan değiştirmeyi deneyebilirsiniz , desteklenen sürücüler aşağıda verilmiştir.

Laravel 5, Laravel 6 ve Laravel 7'de (Doc Link) desteklenen Oturum sürücüleri

  • file - oturumlar depolama / çerçeve / oturumlarda saklanır.
  • cookie - oturumlar güvenli, şifrelenmiş çerezlerde saklanır.
  • database - oturumlar ilişkisel bir veritabanında saklanır.
  • memcached/ redis- oturumlar bu hızlı, önbellek tabanlı mağazalardan birinde saklanır.
  • array - oturumlar bir PHP dizisinde saklanır ve kalıcı olmayacaktır.

Formunuz oturum sürücüsünü değiştirdikten sonra çalışırsa, o sürücüde bir sorun varsa, oradan hatayı düzeltmeye çalışın.

Olası hataya açık senaryolar

  • Muhtemelen dosya tabanlı oturumlar, /storagedizinle ilgili izin sorunları nedeniyle çalışmayabilir (hızlı bir googling size çözümü getirecektir), ayrıca dizin için 777 koymanın hiçbir zaman çözüm olmadığını unutmayın.

  • Veritabanı sürücüsü durumunda, DB bağlantınız yanlış olabilir veya sessionstablo mevcut olmayabilir veya yanlış yapılandırılmış olabilir (@Junaid Qadir tarafından yapılan yoruma göre yanlış yapılandırma kısmının bir sorun olduğu onaylanmıştır).

  • redis/memcached yapılandırma yanlış veya aynı anda sistemdeki başka bir kod parçası tarafından değiştiriliyor.

php artisan key:generateSırayla oturum verilerini temizleyecek yeni bir uygulama anahtarı çalıştırmak ve oluşturmak iyi bir fikir olabilir .

Tarayıcı Önbelleğini Temizle ZOR , Chrome ve firefox'u hatırlayabildiğimden daha fazla suçlu buldum.

Uygulama anahtarlarının neden önemli olduğu hakkında daha fazla bilgi edinin


1
Bazen sadece tarayıcılar, esas olarak Chrome, hatalı biçimlendirilmiş veya standart dışı olduğu için Set-Cookie oturum değerini koymaz. Dolayısıyla Laravel, FORM'dan alınan _tokendeğerle karşılaştırmak için HTTP isteğinden mevcut herhangi bir oturum değeri bulamaz . SESSION_DOMAIN=...Chrome ve HTTP Çerez Özelliklerinin güvenli olmadığını düşündüğü IP'yi kullanmaktan kaçının .
KeitelDOG

Bende de aynı sorun var ama sürekli olarak hatayı almıyorum. Sadece zaman zaman oluyor. Sanırım bu, oturum sürücüsünde bir sorun olmadığı anlamına geliyor, çünkü zamanın% 99'unda çalışıyor. Ancak canlı bir uygulama çalıştırıyorum ve zaman zaman müşterilerden şikayetler alıyorum. Yine de çok nadirdir. Dosya oturumu sürücüsünü kullanıyorum. Birisi benim durumumda bunun neden olduğunu biliyor mu? Teşekkürler
TheAngelM97

@ TheAngelM97 Oturum açma veya kayıt sayfasına giderek bu hatayı kolayca yeniden oluşturabilirsiniz. Belki 30 dakikadan fazla hiçbir şey yapma. Ardından gönder düğmesine tıkladığınızda, 419 Page Expiredgösteriler açılır. Kullanılabilirlik uğruna, basit bir kullanıcıya ne olduğunu ve nasıl çözüleceğini nasıl anlatırsınız?
Pathros

38

Bunun nedeni, formun bir csrf gerektirmesidir. 5.7 sürümünde, @csrf olarak değiştirdiler

<form action="" method="post">
    @csrf
    ...

Referene: https://laravel.com/docs/5.7/csrf


6
Onun formu bir csrf belirteci içerir. Daha sonra düzenleyip düzenlemediğinden emin değilim.
eResourcesInc

evet, formunun başlangıçta bir csrfalanı var, sadece düzenleme geçmişine baktım
Dexter Bengil

Bu, her zaman formumda olduğu için benim durumumda da sorunu çözmüyor, ancak diğer bazı değişiklikler nedeniyle hatalarla karşılaşmaya başladı
Sami

14

durum 1: yerel sisteminizde 127.0.01: 8000 gibi bir proje çalıştırıyorsanız,

sonra

SESSION_DOMAIN=.env dosyanıza ekleyin

veya config / session.php dosyanızda 'domain' => env('SESSION_DOMAIN', ''),

ve sonra koş php artisan cache:clear

durum 2: proje sunucuda çalışıyorsa ve "alanadim.com" gibi bir alanınız varsa

SESSION_DOMAIN=mydomain.com.env dosyanıza ekleyin

veya config / session.php dosyanızda 'domain' => env('SESSION_DOMAIN', 'mydomain.com'),

ve sonra koş php artisan cache:clear


9

Kullanmaya ne dersin

{{ csrf_field() }} onun yerine @csrf

419 hatası çoğunlukla csrf belirteci sorunlarından kaynaklanmaktadır.


Demek {{ csrf_field() }}istiyorsun?
Travis Britz

@Csrf'nin yaptığı gibi aynı html'yi üretir
Sami,

9

Laravel 5.7 kullanıyorum Aynı sorunu yaşadım ve bunun nedeni csrf belirtecinin formda olmamasıydı.

@csrf

sorunu çözdü


8

Benzer bir problemim var ve bunu yaparak çözdüm \App\Http\Middleware\EncryptCookies::classbölümünde yorum yapmaya çalışın \app\Http\Kernel.php. Muhtemelen en iyi çözüm değil çünkü güvenlik ama en azından işe yaradı.

Daha önce denedim:

  • Önbelleği temizle
  • Yeni uygulama anahtarı oluştur
  • Uygulamamı çeşitli Tarayıcılarda çalıştırın (Chrome 70, Mozilla Firefox 57 ve IE 11)
  • Uygulamamı başka bir bilgisayarda çalıştır
  • Dışarı Comment \App\Http\Middleware\VerifyCsrfToken::classiçinde\app\Http\Kernel.php
  • Dışarı Comment \Illuminate\Session\Middleware\AuthenticateSession::classiçinde\app\Http\Kernel.php
  • Laravel'i yükseltme ve düşürme (5,6 ile 5,7 arasında)

Ama bunların hiçbiri benim için işe yaramadı.

DÜZENLE

Buradaki durumum, her oturum açışımda, yeni bir oturum dosyası oluşturulacak (eskisi hala devam ediyor, ancak aniden unutuldu. Kontrol edin storage/framework/sessions) ve yeni CSRF belirteci oluşturulacak. Yani sorun VerifyCsrfToken ile değil.

@ Vladd'ın yorum bölümünde bahsettiği gibi, asla yorum yapmamalısınız \App\Http\Middleware\VerifyCsrfToken::class. Sunucuya doğru CSRF TOKEN'i gönderdiğinizden emin olmalısınız.


1
Bahsettiğiniz bu yöntemler arasında, sadece \ app \ Http \ Kernel.php içindeki \ App \ Http \ Middleware \ VerifyCsrfToken :: class 'a yorum yapmak benim için çalıştı.
Lex Soft

1
Önbelleği temizle, Yeni uygulama anahtarı oluştur + Çerezleri kaldır
dobs

\ App \ Http \ Middleware \ VerifyCsrfToken :: class 'ı asla c0mmenting etmeyeceksiniz. Neden bunu yapasın ki? Uygulamada kendi zayıf noktanızı oluşturmak için?
Vladd

@dobs '+ Çerezleri Kaldır' eklediğiniz için teşekkürler çünkü yapabildiğim her şeyi yaptıktan sonra bile 419 hatası alıyordum ve yalnızca tarayıcı çerezlerini temizlediğimde / gizli modda denediğimde çalıştı.
Niraj Pandey

6

senin değiştirmek @csrfiçinde welcome.blade.php için<input type="hidden" name="_token" value="{{ csrf_token() }}">

kodunuz şöyle:

<form method="POST" action="/foo" >
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <input type="text" name="name"/><br/>
    <input type="submit" value="Add"/>

   <button type="submit">Submit</button>
</form>

6

Oturumunuzla ilgili bir sorun olabilir. Bu ayarlarla oynadıktan sonra sorunumu çözdüm. Benim için bu son seçenek olarak ortaya çıktı.

  • Oturum sürücüsü olarak "dosya" kullanıyorsanız, oturumlar bir yenilemeden sonra kaydediliyorsa depolama / çerçeve / oturumlara bakın. Değilse Büyük olasılıkla yanlış klasör izinlerinden kaynaklanmaktadır. Deponuzun / klasörünüzün doğru haklara sahip olup olmadığını kontrol edin
  • Sayfalarınızdaki tüm Javascript'i devre dışı bırakmayı deneyin (ya gezgin aracılığıyla devre dışı bırakarak ya da kodun içinde) ve 'http_only' => doğru olduğundan emin olun.
  • Https ile ve olmadan kullanmayı deneyin
  • SESSION_DRIVER değişkeninin boş OLMADIĞINDAN emin olun
  • 'Encrypt' => false ve 'encrypt' => true arasında geçiş yapmayı deneyin,
  • Çerez adını 'cookie' => 'laravelsession' olarak değiştirmeyi deneyin,
  • Ya SESSION_DOMAIN alanınızı gerçek etki alanınız YA DA boş olarak ayarlamayı deneyin
  • 'Güvenli' => env ('SESSION_SECURE_COOKIE', yanlış) ve 'güvenli' => env ('SESSION_SECURE_COOKIE', doğru) arasında geçiş yapmayı deneyin,

Kaynak: Laravel Session Laravel 5.4'teki her yenileme / isteği her zaman değiştirir


Evet, diğer birçok şeyi denedikten sonra, SESSION_SECURE_COOKIEanahtar (olarak değiştirildi false) benim için yaptı. (açık localhost:8000)
Marten Koetsier

SESSION_SECURE_COOKIE benim için de problemdi, web sitesi optimizasyonu için bir rehber izlerken onu değiştirdim.
Bram Janssen

benim için https ile çalışıyor ama http ile değil ... herhangi bir fikriniz neden? harika cevap için teşekkürler, bulmam saatlerimi aldı.
sharkyenergy

5

Bu hatayı çözmek için önce aşağıdaki komutlardan birini form etiketine eklemeniz gerekir.

@csrf VEYA {{ csrf_field }}

Sorununuz çözülmediyse, aşağıdakileri yapın: (Yukarıdaki komutlardan birinin form etiketinde olması gerektiğini unutmayın)

1. Aşağıdaki komutlardan birini form etiketine ekleyin @csrfVEYA{{ csrf_field }}

2. .env dosyasını açın ve SESSION_DRIVER bölümündeki değerleri "dosya" olarak değiştirin.

3. Ardından laravel önbelleğini sıfırlamalısınız. terminalde aşağıdaki komutları yazın

php artisan view:clear php artisan route:clear php artisan cache:clear

php artisan config:cache

4. Son adımda, projeyi servisten çıkarın ve php artisan servisine tekrar tıklayın

Umarım sorunun çözülmüştür


4

csrf belirteci ekleyin ve sorununuz çözülecektir. {{csrf_token}} veya @csrf


3

Bunca zamandan sonra bu şekilde çözdüm

Laravel kurulum yolum, session.php yapılandırma dosyasında ayarlananla aynı değildi

'domain' => env('SESSION_DOMAIN', 'example.com'),

2

Aşırı olabilir ama şunu deneyebilirsiniz:

// Gizli belirteç alanı eklenmiş olarak adlandırılmış yolu çağıran form .

<form method="POST" action="{{ route('foo') }}" >
    @csrf
    <input type="hidden" name="_token" value="{!! csrf_token() !!}">
    <input type="text" name="name"/><br/>
    <input type="submit" value="Add"/>
</form>

// Adlandırılmış Rota

Route::post('/foo', function () {
    return 'bar';
})->name('foo');

// Bunu <head></head>bloğun içine ekleyin :

<meta name="_token" content="{!! csrf_token() !!}" />

Laravel Installer 2.0.1 kullanılarak yeni kurulan Laravel 5.7 üzerinde Homestead kullanarak yerelde test ettim ve işe yaradı. Çevreniz nedir?

Teori: bununla bıçak render html etiketleri ile ilgili bir şey olup olmadığını merak {{ }}vs. {!! !!}ortamınıza veya bunu nasıl hizmet vermekteyiz (örn. php artisan serve). Ne yapar bana o olduğunu düşünüyorum line 335ait /vendor/laravel/framework/src/illuminate/Foundation/helpers.phpelle yukarıda yazılan aynı çizgiyi oluşturulması gerekir.


Serin Evet ama <meta>etiketler içinde yer almalıdır <head>içinde değil <body>. HTML doğrulayıcının bundan hoşlanacağından emin değilim.
emix

Doğru olduğunu söyleyebilirim ve bu başa çıkmalı.
jeremykenedy

2

Kodda bir sorun yok. Yeni kurulumda yazdığınız kodun aynısını kontrol ettim.

Form Kodu:

<form method="POST" action="/foo" >
    @csrf
    <input type="text" name="name"/><br/>
    <input type="submit" value="Add"/>
</form>

web.php dosya kodu:

Route::get('/', function () {
    return view('welcome');
});

Route::post('/foo', function () {
    echo 1;
    return;
});

Formu gönderdikten sonraki sonuç: Formu gönderdikten sonra çıktı

Tarayıcınızın önbelleğini temizlerseniz veya başka bir tarayıcıyla denerseniz, düzeleceğini düşünüyorum.


2

Hızlı ve kötü bir yaklaşım, app \ http \ middleware \ verifycsrftoken.php'ye gidip rotayı $ exclude listesine eklemektir. Gönderi talebi, CSRF Token doğrulaması için göz ardı edilecektir.

protected $except = [
    //
    'doLogin.aspx',
    'create_coupon',
];

2

419 | sayfasında bu hata, laravel güvenlik sorunu anlamına gelir, csrf token alanının doğru kullanılmadığı anlamına gelir .

kullanın {{csrf_field}} ve sorununuz çözülecektir.


2

Aşağıdaki adımların tümünü denerseniz işe yarayacaktır:

  1. Oturumunuzun iyi yapılandırıldığından emin olun, en kolay yol, onu dosyalamak ve depolama klasörünün chmod 755 iznine sahip olduğundan emin olmaktır, ardından .envsizde aşağıdaki gibi ayarlayın, dosya oturumu sürücüsü ayarlamanın en kolay yoludur.

    SESSION_DRIVER=file
    SESSION_DOMAIN=
    SESSION_SECURE_COOKIE=false
    
  2. Önbellek klasörünün temizlendiğinden ve yazılabilir olduğundan emin olun, aşağıdaki artisan komutunu çalıştırarak bunu yapabilirsiniz.

    php artisan cache:clear
    
  3. Klasör izinlerinin iyi ayarlandığından emin olun, aşağıdaki gibi yapılandırılmalıdır:

    sudo chmod -R 755 storage
    sudo chmod -R 755 vendor
    sudo chmod -R 644 bootstrap/cache
    
  4. Formunuzun @csrfjeton içerdiğinden emin olun .

Umarım bu sorununuzu çözer.


izinlerin sudo ayarı laravelimi tamamen çökertdi.
Vladimir Despotovic

2

Config / sessions.php adresine gidin

sırayı bul

'secure' => env('SESSION_SECURE_COOKIE', true),

yanlış olarak değiştir

'secure' => env('SESSION_SECURE_COOKIE', false),

Bu parametre TRUE olarak ayarlanırsa tarayıcı, HTTPS protokolünü kullanmanızı gerektirir, aksi takdirde oturumu saklamaz. Geçerli olmadığı için


1

Senin içinde Http/Kernel.php

bu satırı yorumlamayı deneyin:

\Illuminate\Session\Middleware\AuthenticateSession::class,

web ara yazılım dizinizde

sorunun kaynağı bu olabilir


1

Varsayılan olarak bu sorunu yaşamadım. Yani yaptığım şey chmod -R 644 sessions sorunu tekrarlamak oldu.

görüntü açıklamasını buraya girin

Daha sonra oturumlar klasörüne izinler verdim chmod -R 755 sessions

şimdi proje kodum tekrar çalışıyor.

görüntü açıklamasını buraya girin

Bunun olmasının nedeni, önbelleğinizi yazma izinleri olmadan dosyada saklamanızdır.

Oturum yapılandırma dosyası config / session.php adresinde saklanır. Bu dosyada kullanabileceğiniz seçenekleri gözden geçirdiğinizden emin olun. Varsayılan olarak Laravel, birçok uygulama için iyi çalışacak dosya oturumu sürücüsünü kullanmak üzere yapılandırılmıştır. Üretim uygulamalarında, daha hızlı oturum performansı için memcached veya redis sürücülerini kullanmayı düşünebilirsiniz.

Çözümler:

1 - Yukarıda da düzelttiğim gibi, oturumlar klasörüne 755 izin verebilirsiniz. 2 - Başka bir oturum sürücüsü yapılandırması kullanabilirsiniz.

dosya - oturumlar depolama / çerçeve / oturumlarda saklanır. tanımlama bilgisi - oturumlar güvenli, şifrelenmiş tanımlama bilgilerinde saklanır. veritabanı - oturumlar ilişkisel bir veritabanında saklanır. memcached / redis - oturumlar bu hızlı, önbellek tabanlı mağazalardan birinde saklanır. dizi - oturumlar bir PHP dizisinde saklanır ve kalıcı olmayacaktır.

Unutmayın; Memcached / redis kullanmak istiyorsanız, bunları sunucunuza yüklemeniz veya docker redis konteynerinizin çalışıyor olması gerekir.


1

Aslında CSRF, oturum tabanlı bir belirteçtir. Rotanızı bir rota grubuna ekleyin ve oturumları kontrol eden bir ara yazılım ekleyin.

web, laravel'de varsayılan bir ara yazılımdır ve oturum isteklerini kontrol edebilir.

Route::group(array('middleware' => ['web']), function () {
  Route::post('/foo', function () {
     echo 1;
     return;
  });
});

1

Zaten csrf yönergesine sahipseniz, oturumların çalışma şeklini değiştirmiş olabilirsiniz.

Olarak config/session.php, kontrol 'güvenli' alanını. Sunucunuzda https yoksa yanlış olmalıdır.

Ayrıca koyabilirsiniz SESSION_SECURE_COOKIE=FALSEsenin üzerine .envdosya (kök dizin).


1

projenizde komut satırı cmd'yi açın.

1. komut

php artisan config:cache

2. komut

php artisan route:clear

1

Uygulamanızın başlığında da csrf var mı?

<meta name="csrf-token" content="{{ csrf_token() }}">

1

Form varken, @csrfhala gösteriyor419 pages has expired

SESSION_SECURE_COOKIEConfig / session.php'de güncelleme seçeneğini false olarak yaptıktan sonra çözdüm

'secure' => env('SESSION_SECURE_COOKIE', false)

önbelleği temizlemek yerine


1

Bunun üzerinden geçtim ve bir cevap için buraya geldim .. Benim durumumda çözüm tarayıcı geçmişini temizlemekti.


1

Benim durumumda, route.php'nin sonunda?> Orada çok zaman geçirdim ...


1
aynı, ?>sonuna eklemeyi unuttumweb.php
msalihbindak

1
VAY. Benim durumumda tam olarak aynı sorun değil, ancak çözümünüz bunu kontrol etmemi sağladı ve yaptığımda beyaz boşluk fark ettim önce açılış <?php etiketinin ve bu sitede her formdaki Bir 419 neden olduğunu en! İşin garibi, PHP 7.3'te olmadı ve 7.4'e yükselttikten sonra başladı!
Ben Johnson

0

Sadece aynı sorunu yaşadım ve tamamen aptal olmamdan kaynaklanıyordu. Söz konusu formu göndermeden önce tüm form alanlarını (sadece gönder düğmesi yerine) javascript aracılığıyla devre dışı bıraktım! Bu, elbette, tüm form öğelerinin (gizli _tokenalan dahil ) gönderilmemesine neden oldu ve bu da 419 hatasını getirdi!

Umarım bu, birkaç saatlik kafa kaşımasından birine yardımcı olur!

Devre dışı bırakılan form girişleri istekte görünmez


0

Bu sorunu uzun zaman önce aldım. Bunun iznine neden olduğunu hatırladım storage/framework/sessions. Komutla değiştirmek isteyebilirsiniz chmod -R 0777 storage/framework/sessions. Benim için çalıştı.


0

Benim durumumda çok saçma. Auth::routes()Rota dosyasının en üstüne koyduğumda 419 hatası alıyorum .

Auth::routes();

Route::middleware('auth')->group(function () {
    Route::get('/', 'DashboardController@index')->name('dashboard');
});

Ve Auth::routes();rota dosyasının altına giderek hatayı düzelttim .

Route::middleware('auth')->group(function () {
    Route::get('/', 'DashboardController@index')->name('dashboard');
});

Auth::routes();

Belki davanıza da yardımcı olabilir. İyi şanslar.


0

Gönderi dosyası boyutu sınırını aşan büyük bir dosya yüklemeye çalışıyorsanız 419 hatasını aldığınızı lütfen unutmayın. Bu durumda, hem upload_max_filesize hem de post_max_size'yi makul bir miktara yükseltebilirsiniz (örneğin, 10M veya 20M, kullanım durumunuza ve kaynaklarınıza bağlıdır), şurayı kontrol edin: https://stackoverflow.com/a/2184541/2100489

Ancak bu, bant genişliği ve depolama gibi kaynak tüketim sorunlarına neden olabilir. Çözüm olarak formu göndermeden önce dosya boyutunu kontrol edebilir ve bir uyarı mesajı gösterebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.