बस अगर कोई जानता है एक स्पैम बॉट कोई फ़ॉर्म सबमिट करने के लिए यदि कोई पृष्ठ पर सबमिट बटन में सक्षम हो जाएगा सोचा। कैप्चा का उपयोग किए बिना बस कुछ बहुत ही बुनियादी स्पैम रोकथाम करने की कोशिश कर रहा है। विचार है कि सबमिट बटन को प्रस्तुत करने के लिए jQuery का उपयोग करना है यदि उपयोगकर्ता किसी रूप में फ़ॉर्म के साथ इंटरैक्ट करता है। किसी भी विचार की सराहना की जाएगी।क्या कोई स्पैम बॉट पृष्ठ पर कोई सबमिट बटन नहीं होने पर फॉर्म सबमिट करने में सक्षम होगा?
उत्तर
वेबकिट या किसी अन्य ब्राउज़र कोर के चारों ओर एक कोड रैपर वाला स्पैमबॉट केवल डीओएम "सबमिट()" को चलाने के लिए मजबूर कर सकता है, या (यहां तक कि अधिक कट्टरपंथी) बस अपने स्वयं के एक पोस्ट लेनदेन लॉन्च कर सकता है।
यह एक ब्राउज़र है कि कोई अपने रोबोट मस्तिष्क के लिए परमाणु ऊर्जा बीम से जुड़ी नियमों का पालन करती के साथ एक बड़े पैमाने पर शक्तिशाली बुराई रोबोट के रूप में एक spambot के बारे में सोच करने के लिए। लेकिन यह एक रोबोट है जो बहुत अच्छी तरह से पढ़ नहीं सकता है।
हाँ, यह संभव होगा, एक बॉट एक सबमिट बटन की जरूरत नहीं है।
आप (pseudohtml) है, तो:
<form action="POST" target="posting.php">
<input name="something"/>
<!-- some logic for the submit button -->
</form>
बॉट बस form
टैग और रूप में क्षेत्रों के नाम को पार्स करने और अपने आप ही POST
जारी, कभी छू सबमिट बटन के बिना हो सकता है।
हाँ, वे कर सकते हैं। बटन पूरी तरह से की जरूरत नहीं है:
$('#form_id').submit(); /* This is a jQuery trigger */
लेकिन बॉट बुरा हो सकता है और आपके सर्वर तक अपनी खुद पोस्ट अनुरोध जारी के रूप में यह करने के लिए है कि मुश्किल नहीं है हो सकता है।
लेकिन यदि आपने jQuery के साथ एक गुप्त-आइश मान (सर्वर द्वारा ज्ञात और प्रत्येक सत्र के लिए गतिशील रूप से पुनर्प्राप्त) के साथ <input type="hidden" />
बनाया है और केवल उस मान को स्वीकार किया जाता है, तो वह मान सभी गैर-जेएस सक्षम बॉट्स को रोक देगा ।
नकारात्मक पक्ष यह है कि आप को रोकने था गैर जे एस अपने वेबपेज का उपयोग करने से उपयोगकर्ताओं को सक्षम है। लेकिन उस निरंतर लड़ाई आप स्पैमर्स को मारने के लिए लड़ने के लिए है ...
मुझे लगता है कि हम सुरक्षित रूप से कह सकते हैं कि वास्तविक शब्द केस जहां जावास्क्रिप्ट अक्षम है, को अनदेखा किया जा सकता है। क्या आप एक व्यावहारिक मामले का नाम दे सकते हैं जिसमें इस लड़के को शामिल नहीं किया गया है: http://dailyyeah.com/wp-content/uploads/2010/05/unix-based-computer-reboot.jpg? – korona
^इसमें सभी मैक उपयोगकर्ता शामिल हैं। (मैं लिनक्स का उपयोग करता हूं, इसलिए मुझे बाहर रखा गया है)। लेकिन क्या आपने नोस्क्रिप्ट फ़ायरफ़ॉक्स एडन के बारे में सुना है? यह जेएस को तब तक चलने से रोकता है जब तक कि आप इसे अनुमति न दें, और यह काफी लोकप्रिय है, इसलिए मैं डिजाइनिंग के दौरान जावास्क्रिप्ट के बिना लोगों के बारे में सोचूंगा। – Blender
एक स्पैम बॉट कोडित कभी नहीं करने के बाद, मैं केवल अनुमान कर सकते हैं। लेकिन मुझे लगता है कि सबमिट बटन की उपस्थिति वास्तव में बहुत अंतर नहीं करेगी। अधिक संभावना है, यह <form>
-tag पर देख रहा है और उस पर आधारित निर्धारण जहां उसे POST/GET अनुरोध करना चाहिए। एक बेहतर शर्त (लेकिन किसी भी तरह से मूर्ख-प्रमाण नहीं) <form>
का उपयोग नहीं करना होगा, लेकिन मैन्युअल रूप से $ .post (चूंकि आपने jQuery का उपयोग करके उल्लेख किया है) जब कोई बटन या आपकी पसंद का लिंक क्लिक किया जाता है, तो पोस्ट-डेटा एकत्र करना फ्लाई पर तत्व।
एक बॉट सबसे निश्चित रूप से केवल आपके पोस्ट बटन को खोजने में सक्षम होगा, अगर केवल बार-बार।
एक बहुत ही लोकप्रिय विधि की तरह आप जो भी कोशिश कर रहे हैं वह एक हनीपॉट फॉर्म तत्व बनाना है। फॉर्म पर संपादन योग्य हनीपॉट फ़ील्ड लोगों के लिए अदृश्य हैं (आप इन फॉर्म तत्वों को छिपाने के लिए jQuery/CSS का उपयोग कर सकते हैं)। जब वे फॉर्म डेटा पोस्ट करते हैं तो उन्हें मान्य किया जाता है और यदि उनमें कोई इनपुट होता है तो सबमिटकर्ता किसी प्रकार का बॉट होना चाहिए।
अस्पष्ट फ़ील्ड नामों का उपयोग करके, और सत्यापन इन बॉट को भी रोक सकता है। यदि ईमेल फ़ील्ड में @ चिह्न होना चाहिए, और बॉट यह नहीं बता सकता कि कौन सा फ़ील्ड ईमेल है और कौन सा नहीं है, तो संभावना है कि यह एक सफल पोस्ट को बहुत कम कर देगा।
व्यावहारिक प्रोग्रामर पत्रिका में मैंने जो कुछ पढ़ा था, ठीक उसी तरह। – I82Much
+1 इस दृष्टिकोण को कभी भी सुना/इस्तेमाल नहीं किया गया, #loveit – xandercoded
मैंने इसे थोड़ी देर पहले उपयोग करना शुरू कर दिया और मुझे आश्चर्य हुआ कि कितने लोग अभी भी इस बारे में नहीं जानते/इसका उपयोग नहीं करते हैं। – ashurexm
आम तौर पर हम "फर्स्टनाम" जैसे "रसदार आकर्षक" नाम के साथ एक छिपे हुए क्षेत्र बनाते हैं।
if FirstName.text <> "" Then
<insert your "what I want to happen" code. maybe a popup saying "oops an error has been made" or just not submit the form. maybe redirect to a fake error page. like
response.redirect("thisisabot.aspx")
endif
या शायद ** कुछ भी नहीं **। त्रुटि जानकारी के साथ स्पैमर प्रदान करना एक बुरा विचार है :) उन्हें लगता है कि यह सब ठीक हो गया है! ;) –
सबमिट बटन पर जितनी बार डेटा एक दूरस्थ सर्वर से भेजा जाता है, न कि पृष्ठ से ही भरे रेंडर करने के लिए कोई जरूरत नहीं है:
फिर codebehind में हम जैसे कुछ चलाते हैं। कैप्चा भयानक है, कभी-कभी यह इतना अस्पष्ट है कि मैं समझ नहीं पा रहा हूं कि यह क्या कहता है। मैं बॉट्स को रोकने के लिए एक बार में तीन विधियों का उपयोग करता हूं।
- गंतव्य आईपी पते के साथ फॉर्म स्रोत आईपी पता की तुलना करना, यदि वे मेल नहीं खाते हैं, तो आगे कोई प्रक्रिया नहीं होगी।
- सीएसएस द्वारा छिपा हुआ क्षेत्र जो खाली हो गया है, अगर भरा हुआ है, तो यह एक बॉट है और इसे नजरअंदाज कर दिया जाता है।
- फॉर्म सबमिट होने पर जावास्क्रिप्ट द्वारा पूर्व निर्धारित मान प्राप्त करने वाला एक और फ़ील्ड। कोई मैच नहीं, आगे कोई प्रसंस्करण नहीं।
मैंने आईपी पते के साथ डेटाबेस तालिका में प्रयासों को भी रिकॉर्ड किया। प्रयास एक या दो परीक्षणों में विफल रहा।
हालांकि, sweatshop स्पैमर को रोकना एक और कहानी पूरी तरह से है। स्वेटरशॉप स्पैमर लोग स्पैम भेजकर मैन्युअल रूप से नियोजित होते हैं। यदि आपके पास एक बड़ी साइट है, तो इस तरह के स्पैम से संबंधित सेवा का उपयोग करने योग्य हो सकता है। कुछ सेवाएं भी अपमानजनक भाषा से निपटती हैं।
- 1. फॉर्म सबमिट बटन सबमिट नहीं होगा जब बटन का नाम "सबमिट"
- 2. बटन पर फॉर्म ऑटो सबमिट करें
- 3. फॉर्म सबमिट होने पर मॉडल शून्य है
- 4. रेल में एकाधिक सबमिट बटन/फॉर्म
- 5. सबमिट सबमिट करने के बजाय फॉर्म (IE9)
- 6. सबमिट करने पर सबमिट करें झूठी वापसी
- 7. कोई फॉर्म पोस्ट किए जाने पर एक अक्षम टेक्स्ट फ़ील्ड सबमिट होगा?
- 8. एक HTML फॉर्म में एकाधिक सबमिट बटन
- 9. जावास्क्रिप्ट सबमिट में सबमिट बटन मूल्य
- 10. चेकबॉक्स चेक होने पर एक फॉर्म सबमिट करना
- 11. अक्षम सबमिट सबमिट बटन के लिए अविभाज्य सत्यापन सक्षम करें
- 12. Supress सबमिट करें सबमिट करें/सबमिट बटन केवल तभी सक्षम है जब जावास्क्रिप्ट अक्षम है
- 13. 2 एक फॉर्म में बटन सबमिट करें
- 14. कैसे सबमिट करें बटन सबमिट करने वाले बटन को सबमिट किया गया
- 15. मैं कोई फॉर्म आईडी के साथ फॉर्म कैसे सबमिट करूं और कोई सबमिट आईडी नहीं, लेकिन ज्ञात छुपा मूल्य?
- 16. एंटर दबाए जाने पर फॉर्म सबमिट करें
- 17. एचटीएमएल बटन फॉर्म सबमिट नहीं करने के लिए
- 18. jQuery सत्यापन प्लगइन: सबमिट होने पर निर्दिष्ट सबमिट बटन के लिए सत्यापन अक्षम करें हैंडलर हैंडलर
- 19. सफारी: एंटर पर फॉर्म-सबमिट अक्षम करें?
- 20. रेल 3 - फॉर्म, कस्टम सबमिट बटन कार्रवाई के आधार पर?
- 21. स्पैम बॉट को ब्लैकहोल पर भेजना
- 22. एक ही सबमिट बटन के साथ एक पृष्ठ में 2 फॉर्म कैसे सबमिट करें
- 23. jQuery: फॉर्म $ ("# id") के साथ सबमिट नहीं कर रहा है। सबमिट करें(), लेकिन 'सबमिट' बटन के साथ सबमिट करेगा?
- 24. सत्यापन गलत होने पर फ़ॉर्म सबमिट नहीं किया गया है
- 25. एएसपी.नेट एमवीसी चेक फॉर्म इनपुट सबमिट करने पर मान्य है
- 26. कई सबमिट बटनों के साथ एक फॉर्म में एंटर बटन के साथ एक फॉर्म सबमिट करना
- 27. jQuery चेकबॉक्स पर फॉर्म सबमिट करें
- 28. सक्षम नहीं होने पर बटन पृष्ठभूमि बदलें
- 29. एकाधिक सबमिट-बटन
- 30. एएसपी.नेट सबमिट करने पर बटन को कैसे अक्षम करें?
मुझे लगता है कि आपको पहिया का आविष्कार नहीं करना चाहिए ... सब कुछ बाईपास और हैक किया जा सकता है, सवाल वास्तव में उस तरह का खतरा है? सबसे अच्छी बात यह है कि सर्वर की भरोसा भी होगी। लेकिन agian ... सबकुछ –
को छोड़ दिया जा सकता है मैंने स्पैम बॉट को बेवकूफ बनाने के लिए एक वैकल्पिक दृष्टिकोण के बारे में पढ़ा है, जो कि आपके फॉर्म में छुपे हुए फ़ील्ड जोड़ना है कि एक सामान्य मानव सर्वर को संशोधित/पोस्ट नहीं करेगा। स्पैम बॉट उन क्षेत्रों में बहुत अच्छी तरह से भर सकता है, इस मामले में आप इसे पहचान सकते हैं और जो कुछ भी पोस्ट कर रहे हैं उसे अस्वीकार कर सकते हैं। – I82Much
@guy: इसके विपरीत। यहां, व्हील का पुन: आविष्कार करने से उसे गैर-समर्पित स्पैमबॉट्स के खिलाफ बचाव किया जाएगा। – SLaks