2012-07-07 14 views
6

मैं वर्तमान में अपनी साइट में स्पैम को रोकने के लिए एक हनीपॉट समाधान पर काम कर रहा हूं जिसमें HTML फ़ील्ड में style="display : none;" जोड़कर यादृच्छिक नामों के साथ कुछ फ़ील्ड जोड़ने और उन्हें सीएसएस के साथ छिपाने में शामिल है। सबमिट किए जाने पर, यदि इनमें से कोई भी फ़ील्ड खाली नहीं है - तो इसका मतलब यह होना चाहिए कि इसका स्पैमबॉट सिर्फ फॉर्म सबमिट कर चुका है। वह या एक दुर्भावनापूर्ण उपयोगकर्ता। किसी भी तरह से, पद खारिज कर दिया गया है।एक्सेसिबिलिटी समर्थन सीएसएस या जावास्क्रिप्ट के साथ ब्राउज़र करें?

अब, यह पूरी तरह से काम करेगा लेकिन मुझे लगता है कि सभी उपयोगकर्ताओं के पास ब्राउज़र का समर्थन करने वाले ब्राउज़र हैं।

सीएसएस display के प्रत्येक क्षेत्र में जावास्क्रिप्ट के माध्यम से हटाने के लिए none के बराबर विशेषता को ब्राउज़र को किसी भी सीएसएस समर्थन के साथ माना जाता है कि छिपे हुए फ़ील्ड प्रदर्शित करने से रोका जा सकता है।

  • दोनों CSS और JavaScript
  • केवल सीएसएस
  • केवल जावास्क्रिप्ट

मेरा प्रश्न है, तो, ब्राउज़र के लिए कार्य करें:

तो, यह ब्राउज़रों कि समर्थन के लिए ठीक काम करेगा अंधे या कोई अन्य अभिगम्यता-लक्षित ब्राउज़र समर्थन सीएसएस और जावास्क्रिप्ट, केवल सीएसएस, केवल जावास्क्रिप्ट या कोई नहीं?

उत्तर

4

अंधा या किसी अन्य पहुँच-लक्षित ब्राउज़र

के लिए ब्राउज़रों की कोई ब्राउज़रों इन दिनों है कि विकलांग लोगों की ओर तैयार कर रहे हैं। वहां कुछ परियोजनाएं होती थीं, लेकिन प्रमुख सहायक प्रौद्योगिकी (एटी) निर्माताओं ने अपना कार्य एक साथ प्राप्त किया और अपने सॉफ्टवेयर को आईई के साथ पहले फ़ायरफ़ॉक्स पर काम किया। आप एटी के साथ क्रोम या ओपेरा का उपयोग करने का मौका ले रहे हैं, समर्थन हिट या मिस है।

समर्थन सीएसएस और जावास्क्रिप्ट, केवल सीएसएस, केवल जावास्क्रिप्ट या कोई नहीं?

यह वास्तव में जेएस, सीएसएस, और एटी संयोजन का उपयोग किया जा रहा है। सामान्य एटी में सीएसएस के साथ ठीक है। चार क्षेत्र हैं जो मुद्दों का कारण बन सकते हैं: रंग/विपरीत, display:table, display: none और visibility:hidden। चूंकि पहले दो प्रश्न का हिस्सा नहीं हैं, इसलिए हम उन्हें छोड़ देंगे। JAWS केवल या visibility:hidden पर <span> पर सामग्री की घोषणा करता है। मैं जेएस के बारे में बहुत कुछ टिप्पणी छोड़ दूंगा, लेकिन वेबएआईएम के पास an overview of JS and accessibility प्रदान करने वाला एक लेख है।

एचटीएमएल तत्व में style="display : none;" जोड़कर यादृच्छिक नामों के साथ कुछ फ़ील्ड जोड़ने और उन्हें सीएसएस के साथ छिपाने में शामिल हैं।

मुझे लगता है कि आप अपने सभी फॉर्म तत्वों में <label> एस सही ढंग से जोड़ रहे हैं। कृपया उन्हें पढ़ने के मामले में शहद के बर्तन के खेतों में जोड़ें। मैं <label> पर भी "इस फ़ील्ड को अनदेखा" जोड़ दूंगा।

पढ़ना:

Screen Readers and display: none

JAWS, Window-Eyes and display:none: Return to 2007

+0

आपके उत्तर के लिए धन्यवाद! (और हर कोई भी एल्स)। एकमात्र सलाह जो मुझे नहीं लगता है, मैं इसका पालन करूंगा "इस क्षेत्र को अनदेखा करें" लेबल जोड़ना, क्योंकि यह स्पैमबॉट को पहचानने के लिए बेहद आसान बना देगा। – federicot

+0

यह देखते हुए कि - लेखों के अनुसार- प्रदर्शन: लगभग सभी मामलों में कोई भी काम नहीं करता है और जेएस भी काम करता है, उपयोगकर्ता संभवतः फ़ील्ड को भी नहीं देख पाएगा, इसलिए मुझे लगता है कि एक लापता लेबल एक पहुंच नहीं बन जाएगा यहां – federicot

+0

जारी करें मैं स्पैम बॉट विशेषज्ञ नहीं हूं, लेकिन मुझे नहीं लगता कि वे विशेष रूप से 'लेबल' टैग में शब्द की व्याख्या करते हैं। बॉट्स शायद 'इनपुट' की तलाश में एक पृष्ठ को स्क्रैप करें और जंक को घुमाने की कोशिश कर रहे हैं। इसलिए इसे एटी के लिए अनदेखा करें। यदि आपके पास कोई आलेख है जो दिखाता है कि बॉट्स "अनदेखा", "वगैरह" शब्दों के साथ इनपुट को छोड़ना चाहते हैं, तो कृपया साझा करें। –

2

आधुनिक स्क्रीनreaders आम तौर पर एक सामान्य वेब ब्राउज़र (उदाहरण के लिए, इंटरनेट एक्सप्लोरर) पर एक टेक्स्ट-टू-स्पीच इंटरफ़ेस "हुकिंग" द्वारा काम करते हैं। इस प्रकार, वे सभी सीएसएस और जावास्क्रिप्ट का समर्थन करते हैं जो ब्राउज़र सामान्य रूप से समर्थन करेगा। display:none पूरी तरह से कोशेर है।

जहां तक ​​अन्य ब्राउज़र जाते हैं: display: none जैसे मूल सीएसएस नियमों को नेटस्केप 4. कुछ के बाद से हर प्रमुख वेब ब्राउज़र द्वारा समर्थित किया गया है। अगर कोई ऐसा ब्राउज़र उपयोग कर रहा है जो सीएसएस का समर्थन नहीं करता है, तो आपके पंजीकरण फॉर्म से निपटने के लिए उन्हें बड़ी समस्याएं मिलेंगी।

+0

सामान्य वेब ब्राउज़र और इंटरनेट एक्सप्लोरर एक ही वाक्य में ?! –

+0

उचित बिंदु! मेरा मतलब है "सामान्य" कि यह कुछ विशेष उद्देश्य प्रतिपादन इंजन की बजाय मुख्यधारा का ब्राउज़र है। – duskwuff

1

यदि आप दुर्भावनापूर्ण उपयोगकर्ताओं के कारण ऐसा कर रहे हैं तो यह बेकार तरीका है - मेरी राय। मैं उन बुरे लड़के नहीं हूं, लेकिन सीएसएस शैली को अक्षम करने के लिए मुझे एक क्लिक की लागत है। आधुनिक ब्राउज़र में आसान प्लगइन। वेब विकास के लिए अच्छा और शायद अन्य चीजों के लिए। यह निश्चित रूप से यादृच्छिक छिपे इनपुट नामों के साथ काम करने के लिए व्हील की पुन: आविष्कार की तरह है। 1 कार्य संयोजन को पकड़ें (स्रोत कोड F4 पढ़ना) और आप इसे जितनी बार चाहें उतनी बार उपयोग कर सकते हैं।

क्यों अतिरिक्त नाम दृश्य इनपुट नहीं है और सत्र में अपना नाम संग्रहीत करें और जमा करने के बाद इसकी तुलना करें?

या अतिरिक्त कोड (हैश या कुछ और) के साथ एक <input type="hidden" डालें, जिसे केवल आपके ऐप द्वारा पहचाना जा सकता है।

+0

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

2

वैसे मैं लिंक्स का उपयोग करता हूं जब मैं कभी-कभी दुनिया से निराश महसूस करता हूं, और यह सीएसएस का समर्थन नहीं करता है। इस तरह के मामलों में मैं क्या करता हूं, छिपे हुए क्षेत्र में एक डिफ़ॉल्ट मान लिखता है जैसे: Please DON'T fill anything into this field

यह किसी भी व्यक्ति का ख्याल रखता है जो बेवकूफ बॉट्स अभी भी इसे ओवरराइट नहीं कर सकता है। फिर मैं अपने कोड में चेक करता हूं यदि मान से बिल्कुल अलग हैPlease DON'T fill anything into this field और लाभ!

BTW इसमें छिपे हुए क्षेत्र विधि वैसे भी एक निर्धारित हमलावर बंद नहीं होगा, इसलिए यह एक विवादास्पद चर्चा करने के लिए क्या पृष्ठ के स्रोत बाहर अगर एक हमलावर चेकों होता बात है। हम सिर्फ बड़े पैमाने पर बॉट को रोकना चाहते हैं - और ऐसे बॉट जो इस तरह के पाठ को पहचान सकते हैं (प्रत्येक देव संदेश को संवाद करने के लिए अपने स्वयं के शब्दों का उपयोग करता है) स्क्रिप्ट किड्डी के हाथों में गिरने से दूर हैं, भले ही वे मौजूद हों। खैर आखिरी हिस्सा एक अनुमान है।

0

दूसरों के उत्तरों को जोड़ना, मैं कहूँगा कि जबड़े समर्थन प्रदर्शन संपत्ति का भी गतिशील परिवर्तन जैसी सहायक सॉफ्टवेयर (जैसे कि, दिखा/एक छुपा एक बटन दबाकर div)।

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