Back to Question Center
0

साम्बाल्ट में स्पैम संशोधनों का सामूहिक विलोपन प्रत्यक्ष डेटाबेस पहुंच का उपयोग करते हुए स्पैम सफाई

1 answers:

मेरे 'निजी' मिडियाविकी उदाहरण को मिठाई के बारे में एक बच्चा के रूप में सुरक्षित था piggybank. मैंने इसे अब तक कड़ा कर दिया है, लेकिन सैकड़ों बेतरतीब ढंग से जेनरेट किए गए उपयोगकर्ताओं द्वारा सैकड़ों नए पेजों और संशोधनों के साथ छोड़ दिया गया है.

2 भाग प्रश्न; क्या सभी अनाथ पृष्ठों को हटाने का कोई तरीका है? क्या मैं एक विशिष्ट उपयोगकर्ता (मेरे) द्वारा नहीं किए गए सभी संशोधनों को वापस रोल करने के लिए कह सकता हूँ?

. - synchroline terproline body cream 1+1
February 7, 2018

यदि आप डैनलेफ़्री द्वारा सुझाए गए निर्यात-और-पुन: स्थापित विधि का उपयोग नहीं करना चाहते हैं, तो आपको Nuke विस्तार उपयोगी भी मिल सकता है. एक बार स्थापित होने पर, विशेष पृष्ठ पर जाकर विशेष: Nuke एक व्यवस्थापक के रूप में आपको इस प्रकार एक फार्म देता है:

Screenshot of MediaWiki Nuke extension interface

यहां कई अंतर्निहित मीडियाविकी रखरखाव स्क्रिप्ट हैं जो उपयोगी हो सकते हैं, जिनमें शामिल हैं:

  • क्लीनअपस्पाम. php , जिसका उपयोग किसी विशेष होस्टनाम के लिंक वाले सभी संशोधनों को रोलबैक और / या हटाए जाने के लिए किया जा सकता है,

  • हटानाबैक. php , जिसका उपयोग किसी फ़ाइल में सूचीबद्ध सभी पृष्ठों को हटाने के लिए किया जा सकता है, और

  • रोलबैक एडिट्स. php (जो वर्तमान में उपयुक्त विकि दस्तावेज़ीकरण नहीं लगता है), जिसका उपयोग किसी निर्दिष्ट उपयोगकर्ता के सभी संपादनों को वापस रोल करने के लिए किया जा सकता है.


सीधे डेटाबेस पहुंच का उपयोग करते हुए स्पैम सफाई

यह भी संभव है कि आप सीधे डाटाबेस को जोड़कर क्या करना चाहते हैं. आपकी स्थिति के आधार पर विवरण थोड़ी भिन्न हो सकते हैं, लेकिन मूल कदम कुछ ऐसा ही होंगे:

  1. अपने विकी को सेट करें केवल-पठन मोड . आप नहीं चाहते हैं कि कोई व्यक्ति विकि को संपादित करने की कोशिश करे, जबकि आप डेटाबेस से गड़बड़ कर रहे हों.

  2. अपने विकी का बैकअप बनाएं. (यह किसी भी अपरिवर्तनीय सामूहिक विलोपन से पहले की सिफारिश की जाती है. )

  3. स्पैमर्स द्वारा बनाए गए सभी उपयोगकर्ता खाते हटाएं. यदि ऊपर दिए गए प्रश्न के अनुसार, आप केवल एक वैध उपयोगकर्ता थे, तो आप ऐसा कर सकते हैं:

      उपयोगकर्ता से हटाएं user_id! = YOUR_USER_ID; 

    वैकल्पिक रूप से, अगर स्पैमर्स ने विकी की खोज के बाद कोई नया वैध खाता नहीं बनाया गया था, तो आप उच्चतम मान्य यूजर आईडी नंबर पा सकते हैं और करते हैं:

      उपयोगकर्ता से हटाएं user_id> LAST_VALID_USER_ID; 

    या आप एक व्यवस्थापक टूल जैसे phpMyAdmin का उपयोग मैन्युअल रूप से वैध खातों को चुन सकते हैं और बाकी को हटा सकते हैं.

  4. हटाए गए खाते से जुड़े अतिरिक्त डेटा को साफ करें. यह सख्ती से जरूरी नहीं है, लेकिन उन अनाथ अभिलेखों का कोई फायदा नहीं है और यदि आप उन्हें हटा नहीं देते हैं तो आपके डेटाबेस को अव्यवस्थित करेगा:

      उपयोगकर्ता समूह से हटाएं जहां यूज़र नहीं है (उपयोगकर्ता से उपयोगकर्ता का चयन करें);
    यूज़र_प्रॉपर्टीज़ से हटाएं, जहां यूआरओ नहीं है (उपयोगकर्ता से उपयोगकर्ता का चयन करें);
    User_newtalk से उपयोगकर्ता user_id को हटाएं (उपयोगकर्ता से उपयोगकर्ता का चयन करें); 
  5. किसी वैध उपयोगकर्ता द्वारा किए गए किसी भी संशोधन को हटाएं:

    यह बड़ा कदम है; सब कुछ तैयार करने से पहले, सफाई के बाद सब कुछ. सभी स्पैम खातों को हटाए जाने के साथ, आप बस कर सकते हैं:

      संशोधन से हटाएं WHERE rev_user> 0 और rev_user नहीं (उपयोगकर्ता से उपयोगकर्ता का चयन करें); 

    यदि आपकी विकी अज्ञात संपादन अक्षम है (जो मैं दृढ़ता से निजी / परीक्षण विकी के लिए सिफारिश करता है), उपरोक्त क्वेरी सभी स्पैम संशोधनों से छुटकारा पाने के लिए पर्याप्त होना चाहिए. यदि आपके पास एवन संपादन सक्षम है, तो आपको (7 9) एन्यूके को अज्ञात स्पैम अलग से करना होगा.

    यदि आप यह सुनिश्चित कर रहे हैं कि आपके विकी पर सभी अनन्य संपादन स्पैम हैं, यूआईडी 0 द्वारा किए गए एकमात्र संपादकों को हमें संरक्षित करने की आवश्यकता हो सकती है जो कि वे मिडियाविकि के द्वारा बनाई गई हैं (जैसे कि बाहर से आयात किए गए पृष्ठ विकी). उस स्थिति में, निम्न प्रश्न की तरह कुछ कार्य करना चाहिए:

      संशोधन से हटाएं WHERE rev_user = 0 और rev_user_text के बीच '1' और '999'; 

    यह यूआईडी 0 द्वारा किसी भी संशोधन को हटा देगा जहां यूज़रनेम दिखता है (अस्पष्ट) जैसे आईपीवी 4 पता; यह है, यह 1 और 9 के बीच एक अंक के साथ शुरू होता है.

    यदि आपके विकी के कुछ वास्तविक वैध संपादन हैं, तो आपको थोड़ी अधिक रचनात्मक मिलना पड़ सकता है. अगर वैध अपंजीकृत संपादकों द्वारा उपयोग किए गए आईपी पते की संख्या सीमित है, तो आप सिर्फ और rev_user_text न (जैसे '1 की तरह एक क्लॉज जोड़ सकते हैं. 2. 3. 4 ',' 5. 6. 7. 8 ',' 9. 10. 1 1. 12 ') हटाने के लिए उन आईपी द्वारा योगदान को बाहर करने के लिए उपरोक्त क्वेरी में. आप, जैसी कहें,

इस स्थिति को संभालने का सबसे आसान तरीका (यदि आप किसी न्यूके'पेव को नहीं मानते हैं) आपके यूज़रनेम द्वारा बनाए गए या संपादित किए गए सभी विकी पेजों को निर्यात करना होगा, विकी को पुनर्स्थापित करेगा और निर्यात फ़ाइल को आयात करेगा उत्पन्न.

इस संदर्भ में "पुनर्स्थापना" का अर्थ होगा:

  1. आपके द्वारा बनाए गए लेख निर्यात करें (संभवतः WikiSysop उपयोगकर्ता या समान के रूप में लॉग इन किया गया है)
  2. मेगावाट डेटाबेस ड्रॉप करें
  3. एक खाली मेगावाट डेटाबेस बनाएँ
  4. अपने लोकल सेटिंग्स को कॉपी करें. एक सुरक्षित स्थान पर फाइल php
  5. फिर से अपलोड करें / कॉन्फ़िग / निर्देशिका
  6. नए मेगावाट डाटाबेस पर अधिष्ठापन प्रक्रिया को चलाने (ध्यान दें कि आप अपने पुराने व्यवस्थापक उपयोगकर्ता को फिर से बनाना चाहते हैं)
  7. / config / निर्देशिका हटाएं और अपने पुराने लोकल सैटिंग्स को स्थानांतरित करें. पीएचपी मेगावाट रूट पर वापस फाइल करें
  8. चरण # 1
  9. पर बनाई गई फ़ाइल आयात करें

संपादित करें: यदि आप इस प्रक्रिया के साथ किसी भी समस्या का सामना करते हैं या स्पैम को शुद्ध करने के वैकल्पिक तरीकों के साथ प्रयोग करना चाहते हैं, तो आप एक डेटाबेस बैकअप (स्पैम संशोधन सहित) को निकालना चाहते हैं.

सिद्धांत रूप में, आप जो मीडियाविकी उदाहरण चाहते हैं उसे करने के लिए आप जो कुछ भी पसंद करते हैं उसे करने के लिए आप एक मीडियाविकी विस्तार लिख सकते हैं.

इसमें से कम, और दैनलेफ़्री द्वारा सुझाए गए "नुके'पव" से कम, आपको उपयोगकर्ता मर्ज और हटाए गए विस्तार एक्सटेंशन मिल सकते हैं: आप इसका उपयोग कई स्पैमबॉट खातों को एक साथ समेकित करने के लिए कर सकते हैं एकल खाता जिसके संपादन को फिर से आसानी से संबोधित किया जा सकता है.

इस स्थिति को संभालने का सबसे आसान तरीका एक्सटेंशन स्थापित करना है हटाए गए बचे . स्पेशल: अपने विकी के सभी पेजेज़ जो आप हटाना चाहते हैं, उन पेज नामों की स्क्रिप्ट फ़ाइल प्राप्त करने के लिए उपयोग करें, और इसे विशेष में बदलें: DeleteBatch.

यदि यह केवल एक सौ स्पैमयुक्त पृष्ठ है तो आप बहुत बुरी तरह से नहीं कर रहे हैं. मुझे एक विकी को साफ करना पड़ा, जिसमें हजारों स्पैमयुक्त पृष्ठ थे. मैं इस पृष्ठ पर उपयोगकर्ता के द्वारा कुछ अच्छे सुझावों पर आया हूं: https: // www. MediaWiki. संगठन / विकी / उपयोगकर्ता: हेलज़ / मास_डेस्पैमिंग विभिन्न उपकरणों की सीमाओं के टूटने सहित.

नीचे वह एक उपयोगी एसक्यूएल क्वेरी प्रदान करता है जो थोड़ी धीमी गति से चलाता है, लेकिन उन पृष्ठों को ढूंढने में मदद करता है जो सबसे ज्यादा स्पैम हैं, खासकर यदि आप उस समय की अवधि की पहचान कर सकते हैं जब विकी स्पैमर. हेलज़ में एक्सटेंशन का एक हैक किया हुआ संस्करण भी है: Nuke जो इन प्रकार के क्वेरी-योग्य मापदंडों को आसान द्रव्य-विलोपन के लिए प्रस्तुत करता है. उसने मुझे उपयोग की एक कॉपी दी, लेकिन मुझे नहीं लगता कि वह इसे प्रकाशित कर चुका है.

मैं दृढ़ता से मीडियाविकी के एसक्यूएल के साथ गड़बड़ करने की सलाह नहीं देता! मिडियाविकी एक जटिल जानवर है, जो विकिपीडिया के लिए बहुत अनुकूल है. एसक्यूएल में कुछ अजीब बातें चल रही हैं और यदि आप पंक्तियों को हटाते हैं तो चीजें स्थिरता ढीली हो सकती हैं.

यदि आपके पास कुछ प्रोग्रामिंग कौशल हैं, तो एपीआई के माध्यम से जाएं. Pywikibot एक अच्छा विकल्प है.

अन्यथा, रखरखाव / निर्देशिका में उपकरण की जांच करें. आप अपने खुद के उपकरण की कोशिश कर सकते हैं, मेवश के साथ मदद करने के लिए (और मैंने सिर्फ "एंड्रॉपी स्पैम टूल्स" को वहाँ के रूप में जोड़ा है).

मैंने एक अधिष्ठापन लिया और उपयोगकर्ता तालिका में लगभग 47,000 स्पैम प्रविष्टियां मिलीं और लगभग 900,000 स्पैम एक्सटेनललाइनिंक . मैंने सीक्वेल प्रो का इस्तेमाल किया और प्रामाणिक उपयोगकर्ताओं द्वारा नहीं बनाई गई प्रत्येक तालिका और हटाई गई प्रविष्टियों का दौरा किया. मुझे एक्सटेनललंड , पृष्ठ , खोजइंडएक्स , उपयोगकर्ता , वॉचलिस्ट में स्पैम मिला है. यह काफी समय कुशल था; मेरे समय का बड़ा भाग चलाने के लिए क्वेरी हटाने के लिए प्रतीक्षा कर रहा था. मैं भाग्यशाली था क्योंकि अधिकांश प्रामाणिक संपादन चीजों के क्रम में शुरु हुआ था.