क्या मैं एक ही पृष्ठ पर कई अनुरोधों के लिए एक ही गैर का उपयोग कर सकता हूं?


13

या क्या यह गैर के उद्देश्य को तोड़ता है, जिसे मैं मानता हूं कि मैं इसे नहीं समझता? :)

उदाहरण के लिए पेज लोड पर चलने वाले दो अजाक्स अनुरोधों पर, या जब कुछ क्लिक किया जाता है:

 $.ajax({
   type: 'post',
   url: 'admin-ajax.php',
   data: { action: 'foo',
           _ajax_nonce: '<?php echo $nonce; ?>' }
 });

 $.ajax({
   type: 'post',
   url: 'admin-ajax.php',
   data: { action: 'foo2',
           _ajax_nonce: '<?php echo $nonce; ?>' }
 });

जवाबों:


4

वर्डप्रेस अस्थायी रूप से निर्माण समारोह केवल पर कहा जा रहा है initहुक:

इस फ़ंक्शन को कॉल करने के लिए init या किसी भी बाद की कार्रवाई का उपयोग करें। इसे एक कार्रवाई के बाहर कॉल करने से परेशानी हो सकती है। देखें # 14,024 जानकारी के लिए।

चूंकि initहुक "वर्डप्रेस लोड करने के बाद चलता है लेकिन किसी भी हेडर को भेजे जाने से पहले", प्रत्येक पूर्ण-पृष्ठ अनुरोध (नॉट अजाक्स अनुरोध) पर नॉन बनाया जाता है। इसलिए, तकनीकी रूप से, आप कई अनुरोधों पर एक ही नॉन का उपयोग कर सकते हैं, लेकिन आपको उन्हें प्रत्येक अनुरोध पर अद्वितीय बनाना चाहिए , क्योंकि अन्य उत्तर दिए गए हैं।


गैर-बराबरी के बारे में कुछ और प्रकाश डालने के लिए:

प्रत्येक अजाक्स अनुरोध पर सुरक्षा टोकन के रूप में गैर भेजे जाते हैं, यह सुनिश्चित करने के लिए कि उपयोगकर्ता द्वारा अनुरोध किया गया था।


यह निष्कर्ष गलत धारणा पर आधारित लगता है कि गैर-पहचान पहचान की चोरी को रोकने का एक तरीका है। देखें wordpress.stackexchange.com/a/32361/205
scribu

अंतर्दृष्टि के लिए @scribu धन्यवाद। मैंने उत्तर संपादित किया।
नौसे गोल्डन

9

हाँ, अहिंसा अत्यधिक भ्रमित करने वाली है। :)

जबकि नॉन की अवधारणा का अर्थ है कि यह केवल एक बार उपयोग किया जाता है, वर्डप्रेस यह लागू नहीं करता है और तकनीकी रूप से आप कई बार नॉन का उपयोग कर सकते हैं।

हालाँकि जब से आशय को सत्यापित करने के लिए नॉन का उपयोग किया जाता है (जैसा कि आपने वास्तव में विशिष्ट कार्रवाई करने के लिए किया था) - अलग-अलग क्रियाओं में अलग-अलग नॉन उत्पन्न और जाँच की जानी चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.