मेरे पास कुछ प्रकार का चैट/फ़ोरम एप्लिकेशन है जो jquery AJAX का उपयोग करके आवधिक मतदान (प्रत्येक 15 सेकंड) का उपयोग करके नए संदेशों की जांच करता है। मैं सोच रहा था कि क्या मैं उन उपयोगकर्ताओं के मुद्दे पर जा सकता हूं जो कई ब्राउज़र उदाहरणों को लोड करके 'मजेदार' होने का प्रयास करते हैं, बहुत सारे टैब के साथ, सभी एक ही एप्लिकेशन को इंगित करते हैं। प्रत्येक टैब एक AJAX अनुरोध भेज रहा है, जो संभावित रूप से एक सर्वर को ओवरफ़्लो कर सकता है यदि कई उपयोगकर्ता एक ही काम करना शुरू करते हैं।अनगिनत टैब खोलने वाले उपयोगकर्ताओं द्वारा सर्वर बाढ़ को कैसे प्राप्त करें?
मैं अंतिम एक्सेस समय और आईपी पते के साथ एक तालिका में स्टोर सत्र करता हूं, जो तब तक ठीक काम करता है जब तक उपयोगकर्ता एक ही ब्राउज़र का उपयोग नहीं करते हैं। मैं अजाक्स पोस्ट या जीईटी अनुरोध का उपयोग करके भेजा गया एक अद्वितीय पहचानकर्ता स्टोर कर सकता हूं, लेकिन अगर कोई नियमित (गैर दुर्व्यवहार करने वाला) उपयोगकर्ता अपने पृष्ठ को रीफ्रेश करता है तो वह समस्याएं देगा, जो तब एक नया पहचानकर्ता बना देगा।
यह अभी तक एक वास्तविक समस्या नहीं है, लेकिन किसी को इस तरह की प्रणाली का दुरुपयोग करने के बारे में सोचने से पहले बेहतर पकड़ें :) कोई विचार यह कैसे करना है?
एकमात्र चीज जो मैं सोच सकता हूं कि आप संभावित रूप से कुछ प्रकार की दर सीमित कर सकते हैं (यानी प्रति सत्र/समय अवधि में मतदान अनुरोधों की संख्या सीमित करें)। –
हम्म, यह कुछ ऐसा है जो मैंने अभी तक नहीं सोचा था। मेरे पास कुछ प्रकार की सीमितता है जो 5 मिनट की निष्क्रियता के बाद AJAX मतदान रोकता है, लेकिन मैं इसे थोड़ा सा विस्तार कर सकता हूं। – Sempiterna
असल में, वास्तव में PHP का उपयोग करके नहीं किया जा सकता है, क्योंकि इसके लिए अभी भी एक AJAX अनुरोध की आवश्यकता है। जावास्क्रिप्ट का उपयोग कर इसे सीमित करना संभव है? दूसरे शब्दों में, क्या एक ही ब्राउज़र में सभी टैब एक दूसरे के बारे में जानते हैं और एक दूसरे के अनुरोध, और javacsript का उपयोग करके इसे इस तरह सीमित करें? असल में, क्या कोई आंतरिक ब्राउज़र काउंटर है जो देखता है कि टैब एक्स में अभी एक अनुरोध किया गया है, और वहां कोड है ताकि टैब वाई अब AJAX अनुरोध भेज न सके? – Sempiterna