आपका क्यू दो भागों में आता है, दोनों जीरो और शुभ के समाधान भाग I के लिए काम करते हैं - पहुंच / शामिल करने से इनकार करते हैं। शुभ का भाग II के लिए भी काम करता है। मैं बाद को पसंद करता हूं क्योंकि मैं DOCROOT/.htaccess
वैसे भी उपयोग करता हूं और यह एक फाइल में इस तरह के सभी नियंत्रण रखता है।
हालाँकि, जो मैं चर्चा नहीं करना चाहता था वह "पहुंच से वंचित करना submit.php
" की अवधारणा है । यदि आप उपयोग नहीं करना चाहते हैं submit.php
तो DOCROOT में क्यों है? मुझे संदेह है कि इसका उत्तर यह है कि आप इसे कुछ रूपों में एक एक्शन टारगेट के रूप में उपयोग करते हैं और केवल यह चाहते हैं कि फॉर्म जमा होने पर इसे निकाल दिया जाए और सीधे नहीं, उदाहरण के लिए स्पैम्बोट से।
अगर यह सच है तो आप शुभ के भाग II का उपयोग नहीं कर सकते क्योंकि इससे आपका फॉर्म फेल हो जाएगा। आप यहाँ क्या कर सकते हैं (i) .htaccess
चेक के साथ यह सुनिश्चित करने के लिए कि संदर्भकर्ता आपका अपना सूचकांक पृष्ठ था:
RewriteCond %{HTTP_REFERRER} !=HTTP://www.domain.com/index.php [NC]
RewriteRule ^submit\.php$ - [F]
और (ii) आपके PHP index.php फॉर्म जनरेटर के भीतर एक टाइमस्टैम्प और सत्यापन के लिए कुछ छिपे हुए फ़ील्ड शामिल हैं। मान्यता, कह सकती है, टाइमस्टैम्प के एमडी 5 के पहले 10 चार्ट और कुछ आंतरिक रहस्य। सबमिट करने की प्रक्रिया पर आप (i) मान्य कर सकते हैं कि टाइमस्टैम्प और सत्यापन मैच, और (ii) टाइमस्टैम्प वर्तमान समय के 15 मिनट के भीतर है।
यह आप स्पैमिंग को केवल व्यावहारिक तरीके से रोक सकते हैं कि एक स्पैमर को एक वैध टाइमस्टैम्प / सत्यापन जोड़ी मिल सकती है जो एक फॉर्म को पार्स करने के लिए होगी, लेकिन इस स्क्रैप में केवल 15 मिनट का जीवन होगा।