समस्या परिदृश्य:Laravel 4: रोकें कई फ़ॉर्म सबमिशन - CSRF टोकन
मैं Laravel 4. प्रपत्र नए ब्लॉग पोस्ट के निर्माण के लिए जिम्मेदार है कि CSRF में निर्माण के द्वारा सुरक्षित है के साथ एक ब्लॉग बना रहा हूं सुरक्षा (Laravel Docs: CSRF Protection)।
सब कुछ ठीक काम करता है, लेकिन ऐसा लगता है कि लार्वेल प्रत्येक अनुरोध पर सीएसआरएफ टोकन को रीफ्रेश नहीं करता है।
समस्या यह होती है कि यदि उपयोगकर्ता सबमिट किए गए फॉर्म पर वापस आने के लिए ब्राउज़र के बैक बटन को हिट करता है, तो दर्ज डेटा जारी रहता है और उपयोगकर्ता फ़ॉर्म को "पुनः सबमिट" करने में सक्षम होता है। यह स्पैमर के लिए एक खुला दरवाजा बना सकता है।
आमतौर पर इसे सीएसआरएफ टोकन द्वारा रोका जाता है, क्योंकि इसे हर अनुरोध पर रीफ्रेश किया जा रहा है, लेकिन लैरावेल ऐसा नहीं लगता है।
मैं फॉर्म और ब्लॉग पोस्ट दृश्यों को संभालने के लिए लार्वेल "संसाधन नियंत्रक" दृष्टिकोण (Laravel Docs: Resource Controllers) का उपयोग करता हूं। इसके अलावा मैं डेटाबेस (MySQL) में सबमिट किए गए इनपुट को संग्रहीत करने से पहले Laravels इनपुट सत्यापनकर्ता का उपयोग करता हूं।
तो निम्न उपाय आया:
किसी भी तरह Laravel 4 के लिए मजबूर किए गए प्रत्येक अनुरोध
उत्पन्न एक और टोकन पर स्वचालित रूप से CSRF को पुनर्जीवित और यह प्रपत्र मैन्युअल
में शामिल करने के लिएउपयोगकर्ता सत्र (PHP या डेटाबेस) में फॉर्म सबमिशन का टाइमस्टैम्प सहेजें और थ्रॉटल ne एक समय के आधार पर डब्ल्यू फ़ॉर्म सबमिशन
व्यक्तिगत तौर पर मैं पहले विचार को पसंद करते हैं, लेकिन दुर्भाग्य से मैं व्यवहार करने के लिए मैं इसे कैसे होना चाहता हूँ laravel लिए मजबूर करने का एक तरीका नहीं मिल सकता है, हैकिंग के बिना "रोशन" खुद (जिसे मैं "जैसा है" रखना चाहता हूं बिना "परेशानी हॉफ" ^^ के बिना लार्वेल को अपडेट करने में सक्षम होना चाहिए।
आप क्या सलाह देंगे?
आपने समस्या को स्वयं कैसे संभाला?
मैं सिर्फ जाँच कैसे stackoverflow पर प्रपत्र संभालती उल्लिखित के संयोजन का उपयोग करने में हो सकता है वही डेटा, यह कहता है "उस शीर्षक के साथ एक प्रश्न पहले से मौजूद है, कृपया अधिक विशिष्ट हो।" और "आप केवल हर 20 मिनट में एक बार पोस्ट कर सकते हैं।" एक विकल्प है लेकिन वास्तव में जो मैं चाहता हूं ... –