2011-04-04 20 views
7

बस अगर कोई जानता है एक स्पैम बॉट कोई फ़ॉर्म सबमिट करने के लिए यदि कोई पृष्ठ पर सबमिट बटन में सक्षम हो जाएगा सोचा। कैप्चा का उपयोग किए बिना बस कुछ बहुत ही बुनियादी स्पैम रोकथाम करने की कोशिश कर रहा है। विचार है कि सबमिट बटन को प्रस्तुत करने के लिए jQuery का उपयोग करना है यदि उपयोगकर्ता किसी रूप में फ़ॉर्म के साथ इंटरैक्ट करता है। किसी भी विचार की सराहना की जाएगी।क्या कोई स्पैम बॉट पृष्ठ पर कोई सबमिट बटन नहीं होने पर फॉर्म सबमिट करने में सक्षम होगा?

+0

मुझे लगता है कि आपको पहिया का आविष्कार नहीं करना चाहिए ... सब कुछ बाईपास और हैक किया जा सकता है, सवाल वास्तव में उस तरह का खतरा है? सबसे अच्छी बात यह है कि सर्वर की भरोसा भी होगी। लेकिन agian ... सबकुछ –

+1

को छोड़ दिया जा सकता है मैंने स्पैम बॉट को बेवकूफ बनाने के लिए एक वैकल्पिक दृष्टिकोण के बारे में पढ़ा है, जो कि आपके फॉर्म में छुपे हुए फ़ील्ड जोड़ना है कि एक सामान्य मानव सर्वर को संशोधित/पोस्ट नहीं करेगा। स्पैम बॉट उन क्षेत्रों में बहुत अच्छी तरह से भर सकता है, इस मामले में आप इसे पहचान सकते हैं और जो कुछ भी पोस्ट कर रहे हैं उसे अस्वीकार कर सकते हैं। – I82Much

+2

@guy: इसके विपरीत। यहां, व्हील का पुन: आविष्कार करने से उसे गैर-समर्पित स्पैमबॉट्स के खिलाफ बचाव किया जाएगा। – SLaks

उत्तर

10

वेबकिट या किसी अन्य ब्राउज़र कोर के चारों ओर एक कोड रैपर वाला स्पैमबॉट केवल डीओएम "सबमिट()" को चलाने के लिए मजबूर कर सकता है, या (यहां तक ​​कि अधिक कट्टरपंथी) बस अपने स्वयं के एक पोस्ट लेनदेन लॉन्च कर सकता है।

यह एक ब्राउज़र है कि कोई अपने रोबोट मस्तिष्क के लिए परमाणु ऊर्जा बीम से जुड़ी नियमों का पालन करती के साथ एक बड़े पैमाने पर शक्तिशाली बुराई रोबोट के रूप में एक spambot के बारे में सोच करने के लिए। लेकिन यह एक रोबोट है जो बहुत अच्छी तरह से पढ़ नहीं सकता है।

2

हाँ, यह संभव होगा, एक बॉट एक सबमिट बटन की जरूरत नहीं है।

आप (pseudohtml) है, तो:

<form action="POST" target="posting.php"> 
<input name="something"/> 
<!-- some logic for the submit button --> 
</form> 

बॉट बस form टैग और रूप में क्षेत्रों के नाम को पार्स करने और अपने आप ही POST जारी, कभी छू सबमिट बटन के बिना हो सकता है।

1

हाँ, वे कर सकते हैं। बटन पूरी तरह से की जरूरत नहीं है:

$('#form_id').submit(); /* This is a jQuery trigger */ 

लेकिन बॉट बुरा हो सकता है और आपके सर्वर तक अपनी खुद पोस्ट अनुरोध जारी के रूप में यह करने के लिए है कि मुश्किल नहीं है हो सकता है।

लेकिन यदि आपने jQuery के साथ एक गुप्त-आइश मान (सर्वर द्वारा ज्ञात और प्रत्येक सत्र के लिए गतिशील रूप से पुनर्प्राप्त) के साथ <input type="hidden" /> बनाया है और केवल उस मान को स्वीकार किया जाता है, तो वह मान सभी गैर-जेएस सक्षम बॉट्स को रोक देगा ।

नकारात्मक पक्ष यह है कि आप को रोकने था गैर जे एस अपने वेबपेज का उपयोग करने से उपयोगकर्ताओं को सक्षम है। लेकिन उस निरंतर लड़ाई आप स्पैमर्स को मारने के लिए लड़ने के लिए है ...

+0

मुझे लगता है कि हम सुरक्षित रूप से कह सकते हैं कि वास्तविक शब्द केस जहां जावास्क्रिप्ट अक्षम है, को अनदेखा किया जा सकता है। क्या आप एक व्यावहारिक मामले का नाम दे सकते हैं जिसमें इस लड़के को शामिल नहीं किया गया है: http://dailyyeah.com/wp-content/uploads/2010/05/unix-based-computer-reboot.jpg? – korona

+1

^इसमें सभी मैक उपयोगकर्ता शामिल हैं। (मैं लिनक्स का उपयोग करता हूं, इसलिए मुझे बाहर रखा गया है)। लेकिन क्या आपने नोस्क्रिप्ट फ़ायरफ़ॉक्स एडन के बारे में सुना है? यह जेएस को तब तक चलने से रोकता है जब तक कि आप इसे अनुमति न दें, और यह काफी लोकप्रिय है, इसलिए मैं डिजाइनिंग के दौरान जावास्क्रिप्ट के बिना लोगों के बारे में सोचूंगा। – Blender

0

एक स्पैम बॉट कोडित कभी नहीं करने के बाद, मैं केवल अनुमान कर सकते हैं। लेकिन मुझे लगता है कि सबमिट बटन की उपस्थिति वास्तव में बहुत अंतर नहीं करेगी। अधिक संभावना है, यह <form> -tag पर देख रहा है और उस पर आधारित निर्धारण जहां उसे POST/GET अनुरोध करना चाहिए। एक बेहतर शर्त (लेकिन किसी भी तरह से मूर्ख-प्रमाण नहीं) <form> का उपयोग नहीं करना होगा, लेकिन मैन्युअल रूप से $ .post (चूंकि आपने jQuery का उपयोग करके उल्लेख किया है) जब कोई बटन या आपकी पसंद का लिंक क्लिक किया जाता है, तो पोस्ट-डेटा एकत्र करना फ्लाई पर तत्व।

6

एक बॉट सबसे निश्चित रूप से केवल आपके पोस्ट बटन को खोजने में सक्षम होगा, अगर केवल बार-बार।

एक बहुत ही लोकप्रिय विधि की तरह आप जो भी कोशिश कर रहे हैं वह एक हनीपॉट फॉर्म तत्व बनाना है। फॉर्म पर संपादन योग्य हनीपॉट फ़ील्ड लोगों के लिए अदृश्य हैं (आप इन फॉर्म तत्वों को छिपाने के लिए jQuery/CSS का उपयोग कर सकते हैं)। जब वे फॉर्म डेटा पोस्ट करते हैं तो उन्हें मान्य किया जाता है और यदि उनमें कोई इनपुट होता है तो सबमिटकर्ता किसी प्रकार का बॉट होना चाहिए।

अस्पष्ट फ़ील्ड नामों का उपयोग करके, और सत्यापन इन बॉट को भी रोक सकता है। यदि ईमेल फ़ील्ड में @ चिह्न होना चाहिए, और बॉट यह नहीं बता सकता कि कौन सा फ़ील्ड ईमेल है और कौन सा नहीं है, तो संभावना है कि यह एक सफल पोस्ट को बहुत कम कर देगा।

+0

व्यावहारिक प्रोग्रामर पत्रिका में मैंने जो कुछ पढ़ा था, ठीक उसी तरह। – I82Much

+1

+1 इस दृष्टिकोण को कभी भी सुना/इस्तेमाल नहीं किया गया, #loveit – xandercoded

+0

मैंने इसे थोड़ी देर पहले उपयोग करना शुरू कर दिया और मुझे आश्चर्य हुआ कि कितने लोग अभी भी इस बारे में नहीं जानते/इसका उपयोग नहीं करते हैं। – ashurexm

1

आम तौर पर हम "फर्स्टनाम" जैसे "रसदार आकर्षक" नाम के साथ एक छिपे हुए क्षेत्र बनाते हैं।

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 
+1

या शायद ** कुछ भी नहीं **। त्रुटि जानकारी के साथ स्पैमर प्रदान करना एक बुरा विचार है :) उन्हें लगता है कि यह सब ठीक हो गया है! ;) –

0

सबमिट बटन पर जितनी बार डेटा एक दूरस्थ सर्वर से भेजा जाता है, न कि पृष्ठ से ही भरे रेंडर करने के लिए कोई जरूरत नहीं है:

फिर codebehind में हम जैसे कुछ चलाते हैं। कैप्चा भयानक है, कभी-कभी यह इतना अस्पष्ट है कि मैं समझ नहीं पा रहा हूं कि यह क्या कहता है। मैं बॉट्स को रोकने के लिए एक बार में तीन विधियों का उपयोग करता हूं।

  1. गंतव्य आईपी पते के साथ फॉर्म स्रोत आईपी पता की तुलना करना, यदि वे मेल नहीं खाते हैं, तो आगे कोई प्रक्रिया नहीं होगी।
  2. सीएसएस द्वारा छिपा हुआ क्षेत्र जो खाली हो गया है, अगर भरा हुआ है, तो यह एक बॉट है और इसे नजरअंदाज कर दिया जाता है।
  3. फॉर्म सबमिट होने पर जावास्क्रिप्ट द्वारा पूर्व निर्धारित मान प्राप्त करने वाला एक और फ़ील्ड। कोई मैच नहीं, आगे कोई प्रसंस्करण नहीं।

मैंने आईपी पते के साथ डेटाबेस तालिका में प्रयासों को भी रिकॉर्ड किया। प्रयास एक या दो परीक्षणों में विफल रहा।

हालांकि, sweatshop स्पैमर को रोकना एक और कहानी पूरी तरह से है। स्वेटरशॉप स्पैमर लोग स्पैम भेजकर मैन्युअल रूप से नियोजित होते हैं। यदि आपके पास एक बड़ी साइट है, तो इस तरह के स्पैम से संबंधित सेवा का उपयोग करने योग्य हो सकता है। कुछ सेवाएं भी अपमानजनक भाषा से निपटती हैं।

संबंधित मुद्दे