2016-10-27 10 views
7

पर मुझे यह त्रुटि मिल रही है जब मैं Laravel 5.2 में ऑथ का उपयोग करने का प्रयास करता हूं। यह लाइव सर्वर पर जाने के बाद हुआ था। मेरे स्थानीय सर्वर पर सब कुछ ठीक काम करता है।VerifyCsrfToken.php लाइन 67 में TokenMismatchException केवल लाइव सर्वर

फॉर्म के अंदर टोकन और सत्र है: टोकन() समान हैं।

युपीडी: मैं laravel/रूपरेखा/src/रोशन/फाउंडेशन/HTTP/मिडिलवेयर/VerifyCsrfToken.php

और _token मूल्य नहीं मैचों _token इनपुट रूप में है कि में dd ($ अनुरोध) डाल दिया।

मैंने कोशिश की:

  • अक्षम प्रमाणन मार्गों के लिए CSRF, Midd/VerifyCsrfToken.php में सरणी को छोड़कर में मार्गों गयी।
    • 777 अधिकार/स्टोरेज/बूटस्ट्रैप फ़ोल्डरों को सेट करें।
    • प्रयुक्त {!! csrf_field() !!} और नाम = "_ टोकन" मान = "{{csrf_token()}}">।
    • config/session.php में परिवर्तित डोमेन।
    • php artisan key: उत्पन्न करें।
    • एथ पुनः स्थापित करें। ऐसे मार्ग भी जहां मेरे पास midware = auth.basic है, मुझे पहले लॉग इन करने के बिना भी "अमान्य प्रमाण-पत्र" मिल रहा है।

अपने स्थानीय सर्वर पर यह ठीक काम करता है।

धन्यवाद

+1

लैरवेल की सत्र निर्देशिका की जांच करें। शायद आपको लिखने की अनुमति नहीं है। –

+0

भंडारण फ़ोल्डर और अंदर के सभी फ़ोल्डर्स के पास 777 अधिकार हैं, जब भी मैं सत्र निर्देशिका से सभी फ़ाइलों को हटा देता हूं, वे फिर से दिखाई देते हैं। –

+0

क्या आपने इसे आजमाया: http://stackoverflow.com/questions/34866404/tokenmismatchexception-in-verifycsrftoken-php-line-67 –

उत्तर

0

क्या आपका हैंडलर ऐसा दिखता है?

<?php 
... 
public function handle($request, Closure $next) 
{ 
    if (
     $this->isReading($request) || 
     //$this->runningUnitTests() || 
     $this->shouldPassThrough($request) || 
     $this->tokensMatch($request) 
    ) { 
     return $this->addCookieToResponse($request, $next($request)); 
    } 

    // redirect the user back to the last page and show error 
    return Redirect::back()->withErrors('Sorry, we could not verify your request. Please try again. (You waited too long to submit your form)'); 
} 
+0

मैंने अपना हैंडलर नहीं बदला। प्रोड सर्वर पर केवल समस्या, स्थानीय सर्वर पर सब कुछ ठीक काम करता है। मुझे लगता है कि यह सर्वर के साथ कुछ है या कॉन्फ़िगर करता है।यदि मैं सफल लॉगिन के बाद /Middleware/VerifyCsrfToken.php को छोड़कर $ में लॉगिन रूट जोड़ दूंगा, तो स्क्रिप्ट/व्यवस्थापक (क्रेडेंशियल सही है) पर रीडायरेक्ट की जाती है, फिर उसके बाद सीधे/लॉगिन करने के बाद। –

+0

सही, इसके बारे में क्षमा करें। क्या आप उत्पादन सर्वर पर फास्टसीजीआई का उपयोग कर रहे हैं? यदि हां, तो आपको इसे सही ढंग से काम करने के लिए अपने .htaccess में इसकी आवश्यकता होगी। रिवाइटकंड% {HTTP: प्रमाणीकरण}^(। +) $ रिवाइट्रूल। * - [ई = HTTP_AUTHORIZATION:% {HTTP: प्रमाणीकरण}] – Lucas

+0

हाँ, मेरे पास सर्वर एपीआई है: सीजीआई/फास्टसीजीआई, और मेरे पास ये लाइनें हैं मेरी .htaccess फ़ाइल में। –

संबंधित मुद्दे