खुला
बंद करना

अपने सिंपल मशीन्स (एसएमएफ) फोरम को स्पैम से कैसे बचाएं। फोरम इंजन का स्वचालित पता लगाना एसएमएफ द्वारा संचालित चौकस प्रोफ़ाइल

आइए तुरंत मुख्य स्क्रिप्ट कोड से शुरुआत करें:

#!/usr/bin/perl

# who-forum.pl स्क्रिप्ट
# (सी) 2010 एलेक्जेंडर ए एलेक्सीव, http://site/

सख्त उपयोग करें;

# टिप्पणी की गई पंक्तियाँ - कठोरता के लिए
# यदि कार्य इंजन आँकड़े एकत्र करना है, तो इसे वैसे ही छोड़ दें
# यदि आप मंचों की सूची बनाते हैं - तो टिप्पणी रद्द करें

मेरा $ डेटा;
$डेटा .= $_जबकि (<> ) ;

# पादलेख में लिंक के बिना जांचें कि phpBB द्वारा कितना संचालित किया गया था
प्रिंट करें "phpbb \एन"
अगर ($डेटा =~ /]+href='[^']*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/iया
# $data =~ /viewforum\.php\?[^""]*f=\d+/i या
$डेटा =~ /phpBB\-SEO/i या
$डेटा =~ /) ;
प्रिंट करें "आईपीबी \एन"
अगर ($डेटा =~ /]+href='[^']*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^']*'[^>]*> [^<]*IP\.Board/i या
$डेटा =~ /]+href='[^']*http:\/\/(?:www\.)?invisionboard\.com\/?'[^>]*>इनविज़न पावर बोर्ड/iया
$डेटा =~ /

/मैंया
$डेटा =~ /index\.php\?[^""]*showforum=\d+/i) ;
प्रिंट करें "vbulletin \एन"
अगर ($डेटा =~ /द्वारा संचालित:?[^<]+vBulletin[^<]+(?:Version)?/i या
$डेटा =~ /) ;
प्रिंट करें "एसएमएफ \एन"
अगर ($डेटा =~ /]+href='[^']*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>SMF/i द्वारा संचालितया
$डेटा =~ /index\.php\?[^""]*board=\d+\.0/i) ;
प्रिंट करें "punbb \एन"
अगर ($डेटा =~ /]+href='[^']*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> पुनबीबी/आई) ; #या
# $data =~ /viewforum\.php\?[^""]*id=\d+/i);
प्रिंट करें "फ्लक्सबीबी \एन"
# if($data =~ /viewtopic\.php\?id=\d+/i या
यदि ($डेटा =~ /]+href='http:\/\/(?:www\.)fluxbb\.org\/?'[^>]*>FluxBB/i) ;
प्रिंट करें "एक्सबीबी \एन"
अगर ($डेटा =~ /]+href='[^']*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i) ; # या
# $data =~ /forums\.php\?[^""]*forum=\d+/i);
प्रिंट करें "याब \एन"
अगर ($डेटा =~ /]+href='[^']*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/iया
$data =~ /YaBB\.pl\?[^""]*num=\d+/i ) ;
प्रिंट करें "डलफोरम \एन"
अगर ($डेटा =~ /\(डीएलई फोरम द्वारा संचालित\)<\/title>/मैंया
$डेटा =~ /]+href='[^']+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^']*'>DLE फोरम<\/a>/मैं) ;
प्रिंट करें "आइकॉनबोर्ड \एन"
अगर ($डेटा =~ /]+href='[^']*http:\/\/(?:www\.)?ikonboard\.com\/?[^']*'[^>]*>Ikonboard/iया
$डेटा =~ /\एन"
अगर ($डेटा =~ /\एन"
# if($data =~ /forums\.php\?fid=\d+/i या
# $data =~ /topic\.php\?fid=\d+/i या
अगर ($डेटा =~ /]+href='http:\/\/(?:www\.)?flashbb\.net\/?'[^>]*>FlashBB/i) ;
"स्टोक्सिट" प्रिंट करें \एन"
# if($data =~ /forum\.php\?f=\d+/i या
अगर ($डेटा =~ /]+href='http:\/\/(?:www\.)?stokesit\.com\.au\/?'[^>]*>[^\/]*स्टोक्स IT/i) ;
प्रिंट "पोडियम \एन"
# if($data =~ /topic\.php\?t=\d+/i या
अगर ($डेटा =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>पोडियम/i) ;
प्रिंट करें "usebb \एन"
# if($data =~ /forum\.php\?id=\d+/i या
अगर ($डेटा =~ /]+href='http:\/\/(?:www\.)?usebb\.net\/?'[^>]*>UseBB/i) ;
प्रिंट करें "wrforum \एन"
# if($data =~ /index\.php\?fid=\d+/i या
अगर ($डेटा =~ /]+href='http:\/\/(?:www\.)?wr\-script\.ru\/?'[^>]*>WR\-फोरम/i) ;
प्रिंट करें "yetanotherforumnet \एन"
यदि ($डेटा =~ /फिर भी एक अन्य फोरम\.net/i या
$डेटा =~ /default\.aspx\?g=posts&t=\d+/i) ;

आपको यह और पोस्ट में उल्लिखित अन्य स्क्रिप्ट यहां मिलेंगी यह पुरालेख.

लिखी हुई कहानी who-forum.plयह देखने के लिए HTML पेज कोड की जांच करता है कि इसमें फोरम इंजन के हस्ताक्षर हैं या नहीं। हमने इसी तरह की तकनीक का इस्तेमाल तब किया था वर्डप्रेस और जूमला की परिभाषा, लेकिन कुछ अंतर हैं। सबसे पहले, स्क्रिप्ट स्वयं पृष्ठ कोड को लोड नहीं करती है, बल्कि इसे stdin या तर्क के रूप में पारित फ़ाइल से पढ़ती है। यह आपको पृष्ठ को एक बार डाउनलोड करने की अनुमति देता है, उदाहरण के लिए, wget का उपयोग करके, और फिर इसे कई विश्लेषकों के माध्यम से चलाने की अनुमति देता है, यदि हमारे पास एक से अधिक हैं। दूसरे, इस लिपि में हस्ताक्षर की उपस्थिति 100% इंजन का संकेत है। पिछली बार, एक हस्ताक्षर की उपस्थिति ने केवल संबंधित इंजन का वजन बढ़ाया और सबसे बड़े वजन वाला इंजन "जीत" गया। मैंने तय किया कि इस मामले में, ऐसा दृष्टिकोण केवल कोड को अनावश्यक रूप से जटिल बना देगा।

स्क्रिप्ट का परीक्षण करने के लिए, मैंने कुछ शोध किया। मैंने कई हजार मंचों की एक सूची तैयार की और उनमें से प्रत्येक को अपनी स्क्रिप्ट के माध्यम से चलाया, जिससे कार्यक्रम प्रतिक्रियाओं का प्रतिशत और विभिन्न इंजनों की लोकप्रियता निर्धारित हुई।

मंचों की एक सूची प्राप्त करने के लिए मैंने इसका उपयोग किया अपने Google पार्सर के साथ. इस तरह की क्वेरीज़ सर्च इंजन को भेजी गईं

साइट:फोरम.*.ru
साइट:बातचीत*.ru
साइट:बोर्ड.*.ru
साइट:smf.*.ru
साइट:phpbb.*.ru
....

और इसी तरह। आपको फ़ाइल में पूरा क्वेरी जनरेटर कोड मिलेगा gen-forumsearch-urls.pl. Zone.ru के अलावा, .su .ua .kz और .by का भी उपयोग किया गया। पिछली बार, ऐसा अध्ययन करना मुश्किल था, क्योंकि वर्डप्रेस और जूमला साइटों के यूआरएल में ऐसे हस्ताक्षर नहीं हैं। Cmsmagazine.ru/catalogue/ जैसे कैटलॉग पर्याप्त नमूना आकार प्रदान नहीं करते हैं। 600 Drupal साइट्स क्या है?

मुझे स्वीकार करना होगा कि प्रयोग के नतीजों ने मुझे निराश किया। अध्ययन की गई 12,590 साइटों में से केवल 7,083 पर इंजन की सफलतापूर्वक पहचान की गई, यानी केवल 56% मामलों में। शायद मैंने कुछ इंजनों को ध्यान में नहीं रखा? क्या यह सचमुच सच है कि आधे मंचों पर बिट्रिक्स स्थापित था? या क्या मुझे हस्ताक्षर खोजने में अधिक समय लगाना चाहिए था? सामान्य तौर पर, यहां अतिरिक्त शोध की आवश्यकता है।

सफलतापूर्वक पहचाने गए 56% इंजनों में, सबसे लोकप्रिय, जैसा कि अपेक्षित था, आईपीबी (31%), पीएचपीबीबी (26.6%) और वीबुलेटिन (26.5%) थे।

उनके बाद एसएमएफ (5.8%) और डीएलईफोरम (5.3%) बड़े अंतराल के साथ आते हैं। मेरा पसंदीदा punBBकेवल छठे स्थान (1.64%) पर समाप्त हुआ। मैं इन आंकड़ों पर अधिक विश्वास करने की अनुशंसा नहीं करूंगा (वे कहते हैं कि रूनेट पर हर तीसरा फोरम आईपीबी पर चलता है), लेकिन निश्चित रूप से कुछ निष्कर्ष निकाले जा सकते हैं।

उदाहरण के लिए, यदि आप फ़ोरम इंजन पर एक साइट बनाने का इरादा रखते हैं और फ़ोरम को संशोधित करने की योजना बना रहे हैं, उदाहरण के लिए, उपयोगकर्ताओं को सप्ताह में एक बार स्वचालित धन निकासी के साथ प्रत्येक संदेश के लिए $0.01 का भुगतान करें, तो आपको तीन सबसे लोकप्रिय इंजनों में से एक को चुनना चाहिए। फ़ोरम जितना अधिक लोकप्रिय होगा, उसमें पारंगत प्रोग्रामर मिलने की संभावना उतनी ही अधिक होगी।

यदि इंजन में कोई महत्वपूर्ण परिवर्तन अपेक्षित नहीं है, तो कम लोकप्रिय इंजन, उदाहरण के लिए SMF या punBB, चुनना उचित हो सकता है। इससे आपके फ़ोरम पर हैकर के हमलों की संख्या और उस पर स्वचालित रूप से भेजे जाने वाले स्पैम की मात्रा कम हो जाएगी।

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

यह स्पष्ट है कि लिपियों का उल्लिखित उपयोग केवल एक से बहुत दूर है। मुझे लगता है कि आप आसानी से यह पता लगा सकते हैं कि आप उनका और कैसे उपयोग कर सकते हैं।

यदि कोई नहीं जानता है, तो सिंपल मशीन्स फोरम - संक्षेप में एसएमएफ - जैसा कि आधिकारिक वेबसाइट पर बताया गया है, एक मुफ्त, पेशेवर-ग्रेड पैकेज है जो आपको कुछ ही मिनटों में अपने स्वयं के ऑनलाइन समुदाय को व्यवस्थित करने की अनुमति देगा। इस इंजन पर, आप यहां देख सकते हैं। मैंने खुद इस पर अपना फोरम स्थापित किया है (वैसे, FreeForum.biz पर जाएं)।

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

मैं ध्यान दूंगा कि मैंने स्वयं स्पैमर से लड़ने की कोशिश की - मैंने आईपी और यहां तक ​​कि सबनेट के माध्यम से पहुंच को अवरुद्ध कर दिया। यह वास्तव में काम करता था, इसने बहुत सारा कचरा छान दिया, लेकिन फिर भी, हर एक या दो दिन में एक बार कोई न कोई इसमें पहुंच जाता था। और प्रतिबंधित आईपी के डेटाबेस को फिर से भरने में काफी समय लगा। मैंने सोचा कि कोई बेहतर तरीका होगा, और वास्तव में वह था!

1. स्टॉप स्पैमर की स्थापना और कॉन्फ़िगरेशन

दो सप्ताह के ऑपरेशन में, इस प्लगइन ने 2202 नकली उपयोगकर्ताओं को ब्लॉक कर दिया। उनमें से प्रत्येक कम से कम एक संदेश छोड़ेगा। स्पैमर धीमा होने का कोई संकेत नहीं दिखाते हैं और मैं हर दिन अपने मंच को साफ करने में समय बिताऊंगा।

इसके बजाय, हर कुछ दिनों में मैं उपयोगकर्ता प्रबंधन पृष्ठ पर जाता हूं और कुछ इस तरह देखता हूं:

मैं "अनुमोदन की प्रतीक्षा" अनुभाग पर आगे बढ़ता हूं (ये वे स्पैमर पाए गए हैं जो संदेश छोड़ने के अवसर से वंचित हैं जब तक कि उनके खाते व्यवस्थापक द्वारा अनुमोदित नहीं हो जाते)। मैं "सभी का चयन करें" चेकबॉक्स चेक करता हूं और उन्हें एक क्लिक से हटा देता हूं:

बस, सभी स्पैम खाते गुमनामी में चले जाते हैं। आइए अपने उपयोगकर्ताओं की सूची पर वापस लौटें:

यह देखा जा सकता है कि सूची काफी कम हो गई है, लेकिन बाकी कौन हैं? हम सभी का चयन करते हैं और उन्हें एक बटन से सत्यापन के लिए भेजते हैं:

एक "लाल" दिखाई देता है, हम उसे तुरंत हटा देते हैं। यदि आपके पास खाली समय है तो आप अन्य कार्य भी कर सकते हैं। यदि आपके पास समय नहीं है, तो नए उपयोगकर्ताओं के साथ कुछ भी न करें - उनमें से अधिकांश बाद की जांच के दौरान "शरमाएंगे"। यदि आपके पास समय है, तो आप उनकी प्रोफाइल पर जाकर देख सकते हैं - यदि हस्ताक्षर में कोई लिंक है, तो उन्हें तुरंत प्रतिबंधित कर दिया जाएगा, ये स्पैमर के नकली खाते हैं जो कभी भी एक भी उपयोगी संदेश नहीं छोड़ेंगे।

मैंने आपको बताया कि इस जादुई प्लगइन का उपयोग कैसे करें, अब मैं आपको बताऊंगा कि इसे कैसे इंस्टॉल करना है।

दो फ़ाइलें डाउनलोड करें:भाषा_फुल.ज़िप (यह प्लगइन का अनुवाद करने के लिए भाषा पैक है) और स्टॉपस्पैमर_v2_3_9.ज़िप (संख्या भिन्न हो सकती है, क्योंकि संस्करण अपडेट किए जाते हैं)। StopSpammer_v2_3_9.zip संग्रह की सामग्री को किसी फ़ोल्डर में अनपैक करें। भाषा_फुल.ज़िप संग्रह को उसी फ़ोल्डर में अनपैक करें और फ़ाइलों को बदलने के लिए सहमत हों। अब हमारे फोल्डर को एक ज़िप आर्काइव में पैक करें।

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

इतना ही!

प्लगइन का अतिरिक्त कॉन्फ़िगरेशन व्यवस्थापक पैनल में होता है: पर जाएँ

उपयोगकर्ता → पंजीकरण → सेटिंग्स

आप वहां डिफ़ॉल्ट मान छोड़ सकते हैं. वहाँ एक फ़ील्ड "आपकी एपीआई कुंजी" भी है। इस कुंजी के बिना, आप नए स्पैमर की रिपोर्ट नहीं कर पाएंगे (लेकिन प्लगइन काम करेगा और ज्ञात स्पैमर को फ़िल्टर करेगा)। यदि आप अपनी स्वयं की एपीआई कुंजी प्राप्त करना चाहते हैं, तो पंजीकरण करने के लिए www.stopforumspam.com पर जाएं, और फिर यहां कुंजी दर्ज करें। यदि आपको अभी तक कुंजी नहीं मिली है, तो फ़ील्ड को खाली छोड़ दें। फिर डिफ़ॉल्ट कुंजी का उपयोग किया जाएगा.

2. एंटी-स्पैम लिंक की स्थापना और कॉन्फ़िगरेशन

एसईओ धर्म के अनुयायियों (एसईओ-निस्टों के प्रति मेरे दृष्टिकोण के बारे में आप दूसरे में पढ़ सकते हैं) का दृढ़ विश्वास है कि अपनी साइट पर लिंक की संख्या बढ़ाकर, वे इसे "प्रचार" करते हैं (किसी कारण से का विचार)। ​दिलचस्प और उच्च-गुणवत्ता वाली सामग्री बनाना जो किसी को पसंद न आए, ऐसा विचार दिमाग में नहीं आता)। वह एक मूर्ख होगा, लेकिन उससे पैसे निकालने के तरीके होंगे। इसलिए, कुछ "नागरिक" मंचों के माध्यम से साइटों को "चलाने" के लिए सेवाएं प्रदान करते हैं। वे विभिन्न मंचों पर बड़ी संख्या में खाते बनाते हैं और वहां हस्ताक्षर और अन्य उपलब्ध क्षेत्रों में बैकलिंक्स डालते हैं। इस तथ्य के बावजूद कि "एसईओ प्रयोगकर्ताओं" ने पहले ही प्रयोगात्मक रूप से साबित कर दिया है कि ये लिंक शून्य उपयोग के हैं, कुछ ने चेतावनी दी है कि आप इसके लिए खोज इंजन से प्रतिबंध प्राप्त कर सकते हैं, उदाहरण के लिए, यांडेक्स, सभी मंचों और साइटों पर लिंक को अनदेखा करता है जहां कोई भी लिंक छोड़ सकते हैं. Google के पास भी इसी तरह के एल्गोरिदम हैं - टिप्पणियों में लिंक को अनदेखा करना, आदि। लेकिन कानून मूर्खों के लिए नहीं लिखा गया है... इसलिए, हम, मंचों के मालिकों को इस तथ्य पर विचार करना होगा कि "कूल एसईओ ऑप्टिमाइज़र" "रन" का आदेश देते हैं ” एक हजार रूबल के लिए उनकी घटिया रचनाएँ।

स्टॉप स्पैमर प्लगइन बहुत कुछ फ़िल्टर कर देगा। लेकिन हम उसकी मदद कर सकते हैं! आप अपने फ़ोरम पर लिंक पोस्ट करने की दिलचस्पी को स्पैमर्स के दायरे से बाहर ले जा सकते हैं। एंटी-स्पैम लिंक बिल्कुल इसी के लिए हैं। यह प्लगइन (सेटिंग्स में विशिष्ट नंबर बदले जा सकते हैं) निम्नलिखित कार्य करता है:

  • उदाहरण के लिए, जिनके पास पाँच से कम संदेश हैं, वे बिल्कुल भी लिंक नहीं छोड़ सकते
  • उदाहरण के लिए, जिनके पास 15 से कम संदेश हैं, वे सक्रिय लिंक नहीं छोड़ सकते हैं, http:// को लिंक से हटा दिया जाता है, और सामान्य तौर पर ये लिंक न्यूबोलिंक (न्यूबीलिंक) बन जाते हैं।
  • उदाहरण के लिए, जिनके पास 50 से कम पोस्ट हैं वे सक्रिय लिंक छोड़ सकते हैं, लेकिन सभी लिंक को नोफ़ॉलो विशेषता दी जाती है।
  • खैर, जिनके पास 50 से अधिक पोस्ट हैं वे सबसे आम सक्रिय लिंक डाल सकते हैं, जो साइट के वजन को लिंक किए जा रहे पेज पर स्थानांतरित कर देते हैं।

मेरा विश्वास करें, भावी एसईओ इस बात को लेकर बहुत सावधान रहते हैं कि उनका लिंक साइट पर किस रूप में समाप्त होता है। यदि वे आसानी से अपनी घटिया साइटों पर अपने घटिया लिंक पोस्ट नहीं कर पाते हैं तो वे आपके मंच में रुचि खो देंगे।

हाँ, वैसे, उपरोक्त नियम हस्ताक्षर जैसे क्षेत्रों में भी काम करते हैं।

इस प्लगइन को इंस्टॉल करने के लिए इसके आधिकारिक पेज पर जाएं। एंटी_स्पैम_लिंक्स_v1.0.1.ज़िप संग्रह डाउनलोड करें (संख्या भिन्न हो सकती है)। फिर से फोरम एडमिन में, इंस्टॉल पैकेज पर जाएं (जैसा कि आपने पिछले पैकेज के साथ किया था) और इसे इंस्टॉल करें। इस पैकेज के लिए कोई भाषा फ़ाइल नहीं है, इसलिए संग्रह को अनपैक करने या इसके साथ कुछ भी करने की कोई आवश्यकता नहीं है।

प्लगइन को कॉन्फ़िगर करने के लिए, अनुभाग पर जाएँ

कॉन्फ़िगरेशन → मॉड सेट करना… → संशोधन सेट करना

यदि आप चाहें, तो निर्दिष्ट करें कि उपयोगकर्ता के पास अपनी क्षमताओं को अपग्रेड करने के लिए कितने संदेश होने चाहिए।

निष्कर्ष

ये दो प्लगइन्स, फ़ोरम स्वामी, आपका जीवन बहुत आसान बना देंगे और बहुत सारा समय बचाएंगे। हालाँकि, समय-समय पर स्पैमर आते हैं और, सप्ताह में कम से कम एक बार, आपको उपयोगकर्ताओं को "पतला" करने और स्पैम संदेशों को हटाने की आवश्यकता होती है। इसलिए, अपने वेब संसाधनों को न छोड़ें!