स्पॅम ब्लॉकर
स्पॅम ब्लॉकर ही एक केंद्रीकृत स्पॅम शोध सेवा आहे जी येणाऱ्या प्रकाशनांचे मूल्यांकन करते आणि जोखीम गुण नियुक्त करते. यात दोन पॅकेजेस आहेत:
@bitsocial/spam-blocker-server-- HTTP सर्व्हर जो मूल्यांकन आणि आव्हान APIs होस्ट करतो.@bitsocial/spam-blocker-challenge-- एक हलके क्लायंट पॅकेज जे मूल्यमापनासाठी प्रकाशने पाठवण्यासाठी समुदाय एकत्रित करतात.
स्रोत कोड: github.com/bitsocialnet/spam-blocker
जोखीम स्कोअरिंग कसे कार्य करते
/evaluate एंडपॉइंटवर सबमिट केलेल्या प्रत्येक प्रकाशनाला संख्यात्मक जोखीम स्कोअर प्राप्त होतो. स्कोअर हे अनेक सिग्नलचे भारित संयोजन आहे:
| सिग्नल | वर्णन |
|---|---|
| खाते वय | नवीन खात्यांना उच्च जोखीम स्कोअर मिळतात. |
| कर्म | संचित सामुदायिक कर्मामुळे धोका कमी होतो. |
| लेखक प्रतिष्ठा | पार्श्वभूमी नेटवर्क इंडेक्सरद्वारे गोळा केलेला प्रतिष्ठा डेटा. |
| सामग्री विश्लेषण | मजकूर-स्तरीय हेरिस्टिक्स (लिंक घनता, ज्ञात स्पॅम पॅटर्न इ.). |
| वेग | एकाच लेखकाच्या जलद सलग पोस्टमुळे धोका वाढतो. |
| IP बुद्धिमत्ता | देश-स्तरीय भौगोलिक स्थान आणि धमकी-फीड लुकअप. फक्त देश कोड संचयित केले जातात -- कच्चे IP पत्ते समुदायांसह कधीही सामायिक केले जात नाहीत. |
टियर थ्रेशोल्ड
जोखीम स्कोअर चार कॉन्फिगर करण्यायोग्य स्तरांपैकी एकावर मॅप करतो जे पुढे काय होते हे निर्धारित करतात:
- ऑटो-स्वीकार -- स्कोअर इतका कमी आहे की कोणत्याही आव्हानाशिवाय प्रकाशन मंजूर केले जाईल.
- OAuth-पुरेसे -- लेखकाने पुढे जाण्यासाठी OAuth पडताळणी पूर्ण करणे आवश्यक आहे.
- OAuth-plus-more -- केवळ OAuth पुरेसे नाही; अतिरिक्त पडताळणी (उदा. कॅप्चा) आवश्यक आहे.
- स्वयं-नकार -- स्कोअर खूप जास्त आहे; प्रकाशन पूर्णपणे नाकारले आहे.
सर्व थ्रेशोल्ड मूल्ये प्रति समुदाय कॉन्फिगर करण्यायोग्य आहेत.
आव्हान प्रवाह
जेव्हा एखादे प्रकाशन पडताळणी आवश्यक असलेल्या श्रेणीमध्ये येते, तेव्हा आव्हान प्रवाह सुरू होतो:
- लेखकाला प्रथम OAuth (GitHub, Google, Twitter आणि इतर समर्थित प्रदाते) द्वारे प्रमाणीकरण करण्यास सांगितले जाते.
- एकटा OAuth अपुरा असल्यास (टियर 3), क्लाउडफ्लेअर टर्नस्टाइलद्वारे समर्थित कॅप्चा फॉलबॅक सादर केला जातो.
- OAuth ओळख केवळ पडताळणीसाठी वापरली जाते -- ती समुदाय किंवा इतर वापरकर्त्यांसोबत **कधीही शेअर केली जात नाही.
API एंडपॉइंट्स
POST /evaluate
जोखीम मूल्यांकनासाठी एक प्रकाशन सबमिट करा. संगणित जोखीम स्कोअर आणि आवश्यक आव्हान स्तर मिळवते.
POST /challenge/verify
पडताळणीसाठी पूर्ण केलेल्या आव्हानाचा परिणाम (OAuth टोकन, कॅप्चा सोल्यूशन किंवा दोन्ही) सबमिट करा.
GET /iframe/:sessionId
एम्बेड करण्यायोग्य HTML पृष्ठ परत करते जे दिलेल्या सत्रासाठी योग्य आव्हान UI प्रस्तुत करते.
दर मर्यादा
लेखकाचे वय आणि प्रतिष्ठा यावर आधारित दर मर्यादा डायनॅमिकपणे लागू केल्या जातात. नवीन किंवा कमी-प्रतिष्ठित लेखकांना कठोर मर्यादांचा सामना करावा लागतो, तर प्रस्थापित लेखक अधिक उदार मर्यादांचा आनंद घेतात. हे विश्वसनीय सहभागींना दंड न करता स्पॅमचा पूर रोखते.
पार्श्वभूमी नेटवर्क इंडेक्सर
सर्व्हर पार्श्वभूमी इंडेक्सर चालवतो जो लेखक प्रतिष्ठा डेटा तयार करण्यासाठी आणि राखण्यासाठी सतत नेटवर्क क्रॉल करतो. हा डेटा थेट जोखीम स्कोअरिंग पाइपलाइनमध्ये फीड करतो, ज्यामुळे सिस्टमला समुदायांमध्ये पुनरावृत्ती झालेल्या चांगल्या-विश्वास सहभागींना ओळखता येते.
गोपनीयता
स्पॅम ब्लॉकर गोपनीयता लक्षात घेऊन डिझाइन केले आहे:
- OAuth ओळख केवळ आव्हान पडताळणीसाठी वापरली जाते आणि समुदायांना कधीच उघड केली जात नाही.
- IP पत्ते फक्त देश कोड वर सोडवले जातात; कच्चे IP संग्रहित किंवा सामायिक केले जात नाहीत.
डेटाबेस
सर्व्हर प्रतिष्ठा डेटा, सत्र स्थिती आणि कॉन्फिगरेशनच्या स्थानिक स्थिरतेसाठी SQLite (better-sqlite3 द्वारे) वापरतो.