মিডিয়াউইকিতে স্প্যাম পুনর্বিবেচনার ব্যাপক মুছে ফেলা


15

মূলত আমার 'প্রাইভেট' মিডিয়াউইকি উদাহরণটি টডলগার পিগি ব্যাঙ্কের মতোই সুরক্ষিত ছিল। আমি এখন এটি আরও শক্ত করে রেখেছি, তবে এলোমেলোভাবে উত্পাদিত শত শত ব্যবহারকারীর দ্বারা উত্পাদিত প্রায় একশত নতুন পৃষ্ঠা এবং সংশোধনগুলি রেখে গিয়েছি।

2 অংশ প্রশ্ন; সমস্ত অনাথ পৃষ্ঠাগুলি মোছার উপায় আছে? আমি কি কোনও বিশেষ ব্যবহারকারী (আমার) দ্বারা তৈরি না করে সমস্ত সংশোধনী ফিরে যেতে বলতে পারি?



আমার মিডিয়াউইকি ওয়েবসাইটটি নিয়ে আমার আর সমস্যা নেই। যদি আপনার এখনও এই সমস্যাটি থেকে থাকে তবে আমার মন্তব্যে সাড়া দিন এবং আমি কীভাবে এই সমস্যাগুলি সমাধান করব তা আমি আপনাকে একটি লাইভ স্ট্রিমে দেখাতে পারি।
jehnavsays

উত্তর:


19

আপনি রপ্তানি-এবং-পুনরায় ইনস্টল পদ্ধতি ব্যবহার করতে না চান danlefree দ্বারা প্রস্তাবিত , এছাড়াও আপনি পেতে পারে পরমাণু এক্সটেনশন দরকারী। একবার ইনস্টল হয়ে গেলে বিশেষ পৃষ্ঠাটি পরিদর্শন করা বিশেষ: প্রশাসক হিসাবে নুক আপনাকে এই জাতীয় একটি ফর্ম দেয়:

মিডিয়াউইকি নুকে এক্সটেনশন ইন্টারফেসের স্ক্রিনশট

এছাড়াও বেশ কয়েকটি বিল্ট-ইন মিডিয়াউইকি রক্ষণাবেক্ষণ স্ক্রিপ্ট রয়েছে যা কার্যকর হতে পারে:

  • ক্লিনআপস্প্যাম.এফপি , যা রোলব্যাক এবং / অথবা নির্দিষ্ট হোস্টনামের লিঙ্কযুক্ত সমস্ত সংশোধন মুছতে ব্যবহার করা যেতে পারে,

  • ডিলিটব্যাচ.এফপি , যা কোনও ফাইলের তালিকাভুক্ত সমস্ত পৃষ্ঠাগুলি মুছতে ব্যবহৃত হতে পারে এবং

  • রোলব্যাকএডিটস.এফপি (যা বর্তমানে উইনিক ডকুমেন্টেশনগুলির যথাযথ বলে মনে হচ্ছে না) যা নির্দিষ্ট ব্যবহারকারীর সমস্ত সম্পাদনা রোল ব্যাক করতে ব্যবহার করা যেতে পারে।


সরাসরি ডাটাবেস অ্যাক্সেস ব্যবহার করে স্প্যাম ক্লিনআপ

সরাসরি ডাটাবেস ম্যানিপুলেট করে আপনি যা চান তা করাও সম্ভব। আপনার অবস্থার উপর নির্ভর করে বিশদগুলি কিছুটা পৃথক হতে পারে তবে প্রাথমিক পদক্ষেপগুলি এরকম হবে:

  1. আপনার উইকিকে কেবল পঠন মোডে সেট করুন । আপনি চাইবেন না যে আপনি যখন ডেটাবেসটি নিয়ে গণ্ডগোল করছেন তখন কেউ উইকি সম্পাদনার চেষ্টা করবেন।

  2. আপনার উইকির একটি ব্যাকআপ নিন। (যাইহোক যে কোনও অপরিবর্তনীয় ভর মুছে ফেলার আগে এটি অত্যন্ত প্রস্তাবিত।

  3. স্প্যামারদের দ্বারা তৈরি সমস্ত ব্যবহারকারীর অ্যাকাউন্টগুলি মুছুন। উপরের প্রশ্নের মতো যদি আপনি একমাত্র বৈধ ব্যবহারকারী হয়ে থাকেন তবে আপনি কেবল এটি করতে পারেন:

    DELETE FROM user WHERE user_id != YOUR_USER_ID;

    বিকল্পভাবে, স্প্যামাররা উইকিটি আবিষ্কার করার পরে যদি কোনও নতুন বৈধ অ্যাকাউন্ট তৈরি না করা হয়, আপনি সর্বাধিক বৈধ ব্যবহারকারী আইডি নম্বর খুঁজে পেতে পারেন এবং করতে পারেন:

    DELETE FROM user WHERE user_id > LAST_VALID_USER_ID;

    অথবা আপনি নিজে থেকে বৈধ অ্যাকাউন্টগুলি চয়ন করতে এবং বাকিগুলি মুছতে phpMyAdmin এর মতো প্রশাসক সরঞ্জাম ব্যবহার করতে পারেন।

  4. মুছে ফেলা অ্যাকাউন্টগুলির সাথে যুক্ত অতিরিক্ত ডেটা পরিষ্কার করুন। এটি কঠোরভাবে প্রয়োজনীয় নয়, তবে সেই অনাথ রেকর্ডগুলির কোনও ব্যবহার নেই এবং আপনি যদি এটিগুলি মুছেন না তবে কেবল আপনার ডাটাবেসটিকেই বিশৃঙ্খলা করবে:

    DELETE FROM user_groups WHERE ug_user NOT IN (SELECT user_id FROM user);
    DELETE FROM user_properties WHERE up_user NOT IN (SELECT user_id FROM user);
    DELETE FROM user_newtalk WHERE user_id NOT IN (SELECT user_id FROM user);
  5. কোনও বৈধ ব্যবহারকারীর দ্বারা না করা কোনও সংশোধন মুছুন:

    এটি বড় পদক্ষেপ; এটি প্রস্তুত হওয়ার আগে সমস্ত কিছু, তার পরে সবকিছু পরিষ্কার করা হয়। সমস্ত স্প্যাম অ্যাকাউন্ট মুছে ফেলা সহ, আপনি কেবল এটি করতে পারেন:

    DELETE FROM revision WHERE rev_user > 0 AND rev_user NOT IN (SELECT user_id FROM user);

    যদি আপনার উইকিতে বেনামে সম্পাদনা অক্ষম করা থাকে (যা আমি প্রাইভেট / টেস্ট উইকিগুলির জন্য দৃ strongly়ভাবে প্রস্তাব দিই), সমস্ত স্প্যাম সংশোধন থেকে মুক্তি পাওয়ার জন্য উপরের ক্যোয়ারীটি যথেষ্ট হওয়া উচিত। আপনি যদি অয়ন সম্পাদনা সক্ষম করে থাকেন তবে আপনাকে বেনামে স্প্যাম আলাদাভাবে ছুঁড়ে ফেলতে হবে

    আপনি যদি নিশ্চিত হন যে আপনার উইকিতে সমস্ত আনোন সম্পাদনা স্প্যাম, তবে কেবলমাত্র ইউআইডি 0 দ্বারা সম্পাদিত যে সম্পাদনাগুলি আমাদের সংরক্ষণ করতে হবে তা হ'ল মিডিয়াউইকি নিজে তৈরি করেছেন (যেমন উইকের বাইরে থেকে আমদানি করা পৃষ্ঠাগুলি)। সেক্ষেত্রে নিম্নলিখিত কোয়েরির মতো কিছু কাজ করা উচিত:

    DELETE FROM revision WHERE rev_user = 0 AND rev_user_text BETWEEN '1' AND '999';

    এটি ইউআইডি 0 দ্বারা কোনও সংশোধন মুছে ফেলবে যেখানে ইউজারনেমটি আইপিভি 4 ঠিকানার মতো দেখায় (অস্পষ্টভাবে); এটি, এটি 1 এবং 9 এর মধ্যে একটি অঙ্ক দিয়ে শুরু হয়।

    যদি আপনার উইকিতে কিছু প্রকৃত বৈধ আনন সম্পাদনা থাকে তবে আপনাকে আরও কিছুটা সৃজনশীল হতে হবে। বৈধ অনিবন্ধিত সম্পাদকদের দ্বারা ব্যবহৃত আইপি ঠিকানার সংখ্যা যদি সীমাবদ্ধ থাকে তবে AND rev_user_text NOT IN ('1.2.3.4', '5.6.7.8', '9.10.11.12')IP আইপিগুলি মুছে ফেলা থেকে অবদানগুলি বাদ দিতে আপনি কেবল উপরের ক্যোয়ারিতে একটি ধারা যুক্ত করতে পারেন । আপনি AND rev_user_text NOT LIKE '192.168.%'নির্দিষ্ট উপসর্গের সাথে শুরু করে আইপি ঠিকানাগুলি থেকে সমস্ত সম্পাদনা সংরক্ষণ করার মতো শর্তও যুক্ত করতে পারেন ।

  6. উপরের প্রশ্নগুলি স্প্যাম সংশোধনগুলি থেকে মুক্তি পাবে (যদিও তাদের বিষয়বস্তু এখনও textটেবিলের মধ্যে থাকবে ) তবে page_latestকোনও প্রভাবিত পৃষ্ঠাগুলির ক্ষেত্রটি অস্তিত্বহীন পুনর্বিবেচনার দিকে ইঙ্গিত করবে। এটি বিভ্রান্তির কারণ হতে পারে, সুতরাং আমরা এটি আরও ভাল করতে চাই।

    প্রথমত, আমাদের page_latestসকল পৃষ্ঠার জন্য কলামটি মুছতে হবে:

    UPDATE page SET page_latest = 0;
  7. এর পরে, আমরা কলামটি পুনরায় তৈরি করব, হয় সংযুক্তিলেস্ট.এফপি রক্ষণাবেক্ষণ স্ক্রিপ্টটি চালিয়ে (প্রস্তাবিত; --fixপ্যারামিটারটি ব্যবহার করতে ভুলবেন না যাতে স্ক্রিপ্টটি আসলে ডাটাবেস পরিবর্তন করে) বা ম্যানুয়াল এসকিউএল কোয়েরি সহ:

    UPDATE page SET page_latest =
        (SELECT MAX(rev_id) FROM revision WHERE rev_page = page_id);
  8. অবশেষে, আমরা সমস্ত পৃষ্ঠা মুছে ফেলব যার জন্য কোনও বৈধ সংশোধন খুঁজে পাওয়া যায়নি (কারণ সেগুলি স্প্যামারদের দ্বারা তৈরি করা হয়েছিল এবং এর কোনও বৈধ সামগ্রী নেই):

    DELETE FROM page WHERE page_latest = 0;
  9. একটি চূড়ান্ত টাচের জন্য, লিঙ্ক, টেক্সট সূচক এবং চলমান সাম্প্রতিক পরিবর্তনগুলি টেবিল পুনর্নির্মাণের rebuildall.php রক্ষণাবেক্ষণ স্ক্রিপ্ট। আপনি মুছে ফেলা স্প্যাম পুনর্বিবেচনার সামগ্রীগুলি ডাটাবেস থেকে মুছে ফেলতে চাইতে পারেন, যাতে তারা সেখানে অপ্রয়োজনীয় স্থান গ্রহণ না করে, purgeOldText.php রক্ষণাবেক্ষণ স্ক্রিপ্টটি চালিয়ে

সব শেষ হয়ে গেলে, যা ঠিক আছে তা যাচাই করুন এবং যদি তা হয় তবে কেবল পঠনযোগ্য মোডটি বন্ধ করুন - আশা করি সমস্যাটি পুনরায় সংঘটিত থেকে বাঁচতে কিছু স্প্যাম বিরোধী বৈশিষ্ট্য ইনস্টল করার পরে ।

ছোট উইকিসের জন্য আমি কাস্টিসিপ্যাচা এক্সটেনশনের জন্য অত্যন্ত পরামর্শ দিচ্ছি , যা আপনাকে একটি সাধারণ কাস্টম পাঠ্য-ভিত্তিক ক্যাপচা কনফিগার করতে দেয়। কৌশলটি হ'ল, প্রতিটি উইকির নিজস্ব প্রশ্নগুলির সেট রয়েছে, সঠিকভাবে উত্তর দেওয়ার জন্য একটি স্প্যামবট প্রোগ্রামিং করা খুব সামান্য লাভের জন্য অনেক কাজ হবে। XRumer কয়েকবার আঘাত করার পরে আমি এটি আমার নিজের উইকিতে ইনস্টল করেছি এবং এর পর থেকে কোনও স্প্যাম দেখিনি।

পুনশ্চ. আমি এই নির্দেশাবলী একটি ছোট উইকি থেকে সমানভাবে ব্যবহারকারীদের দ্বারা তৈরি প্রায় 35,000 স্প্যাম সংশোধনগুলি কমাতে ব্যবহার করেছি । সব ঠিক হয়ে গেল। এই বিশেষ ক্ষেত্রে, উইকি (ভাগ্যক্রমে!) বেনামে সম্পাদনা করার অনুমতি দেয় নি, এবং স্প্যামাররা উইকিটি খুঁজে পাওয়ার আগে প্রায় সমস্ত বৈধ ব্যবহারকারী তৈরি করা হয়েছিল, তাই আমি প্রথমে স্প্যাম অ্যাকাউন্টগুলি সহজেই মুছে ফেলতে পারতাম এবং তারপরে সমস্ত সংশোধন করলাম তারা তৈরি করতেন। (আমি দুর্ঘটনাক্রমে প্রথমে একটি বৈধ অ্যাকাউন্ট মুছে ফেললাম, সুতরাং আমাকে ব্যাকআপ থেকে পুনরুদ্ধার করতে হবে এবং আরও সতর্কতার সাথে প্রক্রিয়াটি পুনরায় করতে হবে)) আমি আসলে কী করতে পেরেছি তা আরও ভালভাবে প্রতিফলিত করতে এবং কিছুটা জেনেরিক হওয়ার জন্য উপরের নির্দেশাবলীর আপডেট করেছি I've ।


এই প্রশ্নটি কয়েক বছর পুরনো, এখনও মনে হচ্ছে 100,000 স্প্যামের বট জমে থাকা একটি ছোট্ট উইকিতে খুব ভাল কাজ করেছে। তখন থেকেই পরিস্থিতি বদলেছে; অতিরিক্ত পদক্ষেপ আছে?
Ant6n

কিছু খবর এখানে? এই কি আজকাল "সেরা অনুশীলন" এবং "সেরা সরঞ্জাম"?
পিটার ক্রাউস

rebuildall.phpরক্ষণাবেক্ষণে নেই: ও অন্যথায় আপনাকে ধন্যবাদ
জ্যামি হুটার

5

এই পরিস্থিতিটি হ্যান্ডেল করার সবচেয়ে সহজ উপায় (যদি আপনি কোনও অনুমানের বিষয় মনে করেন না) হ'ল আপনার ব্যবহারকারীর নাম দ্বারা তৈরি বা সম্পাদিত সমস্ত উইকি পৃষ্ঠাগুলি রফতানি করা, উইকি পুনরায় ইনস্টল করা এবং আপনি যে রফতানি ফাইল তৈরি করেছেন তা আমদানি করা।

এই প্রসঙ্গে "পুনরায় ইনস্টল" এর অর্থ হবে:

  1. আপনার দ্বারা নির্মিত নিবন্ধগুলি রফতানি করুন (সম্ভবত উইকিসাইপ ব্যবহারকারী বা অনুরূপ হিসাবে লগ ইন করেছেন)
  2. মেগাওয়াট ডাটাবেসটি ফেলে দিন
  3. একটি খালি মেগাওয়াট ডাটাবেস তৈরি করুন
  4. আপনার LocalSettings.phpফাইলটি নিরাপদ স্থানে অনুলিপি করুন
  5. /config/ডিরেক্টরিটি পুনরায় আপলোড করুন
  6. নতুন মেগাওয়াট ডাটাবেসে ইনস্টলেশন প্রক্রিয়াটি চালান (নোট করুন যে আপনি আপনার পুরানো প্রশাসক ব্যবহারকারীকে আবার তৈরি করতে চাইবেন)
  7. /config/ডিরেক্টরি মুছুন এবং আপনার পুরানো সরানLocalSettings.php ফাইলটি আবার মেগাওয়াট রুটে
  8. # 1 পদক্ষেপে তৈরি করা ফাইলটি আমদানি করুন

সম্পাদনা: আপনি যদি এই প্রক্রিয়াটিতে কোনও সমস্যার মুখোমুখি হন বা স্প্যাম সাফ করার জন্য বিকল্প উপায় নিয়ে পরীক্ষা করতে চান তবে আপনি একটি ডাটাবেস ব্যাকআপ (স্প্যাম সংশোধন সহ) টেনে আনতে চাইতে পারেন।


2

তাত্ত্বিকভাবে, আপনি মিডিয়াউইকির উদাহরণটি যা করতে চান তা করতে আপনি মিডিয়াউইকি এক্সটেনশন লিখতে পারেন, যার মধ্যে আপনার উল্লিখিত জিনিসগুলি অন্তর্ভুক্ত রয়েছে।

এর সংক্ষিপ্ত এবং ড্যান্লেফ্রি দ্বারা প্রস্তাবিত "নিউক'আন'প্যাভের সংক্ষিপ্তসার, আপনি ব্যবহারকারীর মার্জ এবং এক্সটেনশনটি মুছতে পারেন দরকারী: আপনি একাধিক স্প্যামবট অ্যাকাউন্ট একক অ্যাকাউন্টে একীকরণ করতে ব্যবহার করতে পারেন যার সম্পাদনাগুলি আরও সম্বোধন করা যেতে পারে সহজে।


2

এই পরিস্থিতিটি হ্যান্ডেল করার সহজতম উপায় হ'ল এক্সটেনশন ডিলিটব্যাচ ইনস্টল করা । বিশেষটি ব্যবহার করুন: আপনি মুছে ফেলতে চান পৃষ্ঠাগুলির স্ক্রিপ্ট ফাইল পেতে আপনার উইকের সমস্ত অধ্যায়গুলি এবং এটিকে বিশেষ: ডিলিটব্যাচে লোড করুন।


1

যদি এটি কেবল একশত স্প্যামি পৃষ্ঠাগুলি হয় তবে আপনি খুব খারাপ ব্যবহার করছেন না। আমাকে এমন একটি উইকি পরিষ্কার করতে হয়েছিল যার হাজার হাজার স্প্যামযুক্ত পৃষ্ঠা ছিল। আমি ব্যবহারকারী: হাল্জ এই পৃষ্ঠায় কয়েকটি ভাল পরামর্শ পেয়েছি: https://www.mediawiki.org/wiki/User:Halz/Mass_despamming সহ বিভিন্ন সরঞ্জামের সীমাবদ্ধতা ভঙ্গ করে।

নীচে তিনি একটি দরকারী এসকিউএল ক্যোয়ারী সরবরাহ করেছেন যা কিছুটা ধীরে ধীরে চলতে পারে তবে আপনাকে এমন পৃষ্ঠাগুলি সন্ধান করতে সহায়তা করে যা সম্ভবত স্প্যাম, বিশেষত যদি আপনি উইকিকে স্প্যামারদের দ্বারা গ্রহণ করার সময়কাল সনাক্ত করতে পারেন। হাল্জের কাছে এক্সটেনশনের হ্যাক সংস্করণও রয়েছে: নুके যা সহজেই গণ-মোছার জন্য এই ধরণের ক্যোয়ারী-সক্ষম পরামিতিগুলি উপস্থাপন করে। তিনি আমাকে ব্যবহারের জন্য একটি অনুলিপি দিয়েছেন, তবে আমি মনে করি না যে সে এটি প্রকাশ করেছে।


1

আমি দৃ strongly়ভাবে মিডিয়াউইকের এসকিউএল না জালানোর পরামর্শ দিচ্ছি! মিডিয়াউইকি একটি জটিল জন্তু, উইকিপিডিয়াটির জন্য অত্যন্ত অনুকূল। এসকিউএলে কিছু অদ্ভুত জিনিস চলছে এবং আপনি যদি সারি সারণিগুলি সহজেই সরিয়ে ফেলেন তবে সামঞ্জস্যতা looseিলা হতে পারে।

আপনার যদি কিছু প্রোগ্রামিং দক্ষতা থাকে তবে এপিআই দিয়ে যান। পাইউইকিবোট একটি ভাল পছন্দ।

অন্যথায় maintenance/ডিরেক্টরিতে থাকা সরঞ্জামগুলি পরীক্ষা করুন । আপনি আমার নিজের সরঞ্জামটি চেষ্টা করতে পারেন , সেই সাথে সহায়তা করার জন্য mewsh (এবং আমি সেখানে একটি টুড হিসাবে স্রেফ "অ্যান্টি-স্প্যাম সরঞ্জাম" যুক্ত করেছি)।


0

আমি একটি ইনস্টলেশন গ্রহণ করেছি এবং userটেবিলে 47,000 এরও বেশি স্প্যাম এন্ট্রি এবং প্রায় 900,000 স্প্যাম পেয়েছি externallinks। আমি সিকুয়েল প্রো ব্যবহার করেছি এবং প্রতিটি টেবিল ঘুরে দেখেছি এবং খাঁটি ব্যবহারকারীদের দ্বারা তৈরি করা এন্ট্রি মোছা হয়েছে। আমি স্প্যাম পাওয়া externallinks, page, searchindex, user, watchlist। এটি মোটামুটি সময় দক্ষ ছিল; আমার সময়ের বেশিরভাগ অংশ ক্যোয়ারি চালানোর জন্য অপেক্ষা করছিল। আমি ভাগ্যবান যেহেতু বেশিরভাগ খাঁটি সম্পাদনাগুলি জিনিসগুলির ক্রমের প্রথমদিকে ঘটেছিল।


2
স্প্যাম লিঙ্কগুলি মুছে ফেলার চেষ্টা করার কোনও অর্থ নেই externallinks, যেহেতু এটি মূলত কেবল বিশেষ: লিংক অনুসন্ধানের মতো জিনিসের জন্য ব্যবহৃত একটি রিলান্ট মেটাডেটা টেবিল; একবার আপনি প্রকৃত পৃষ্ঠাগুলি পরিষ্কার করার পরে, আপনি কেবল rebuildall.phpএটি মুছতে এবং পুনর্নির্মাণের জন্য চালাতে পারেন। Ditto for searchindex
ইলমারি করোনেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.