URL का डेटा सेट दिए जाने पर दुर्भावनापूर्ण URL का पता लगाने के लिए एक एल्गोरिथ्म बनाएँ।200 URL का डेटा सेट
नोट: यहां हम एक बहुत सरल एल्गोरिथ्म प्रस्तुत कर रहे हैं जो अच्छी तरह से काम करेगा। इसके साथ-साथ, यह एल्गोरिथ्म आपको घातक URL का पता बताएगा। हालांकि, इसे पूरी तरह बहुत हद तक क्षमताएँ प्रदान करने के लिए तैयार किया गया है।

उदाहरण URL:
"https://www.example.com/spam/index.html"

चरण 1: प्रोटोकॉल को पहचानें
"एचटीटीपी" और "एचटीटीपीएस" के लिए पहचानकर्ता फंक्शन बनाएं। शुरू करने के लिए, हम यह जानते हैं कि प्रोटोकॉल हमेशा URL के शुरुआतिका बाद आता है। इसलिए हम इसको "://" से भिन्न कर सकते हैं। अब हम जांचेंगे कि कौन सा प्रोटोकॉल URL में उपलब्ध है।

def find_protocol(url: str) -> str:
    return url.split("://")[0]

उपयोग:
find_protocol("https://www.example.com/spam/index.html")
आउटपुट: "https"


चरण 2: डोमेन नाम की वैधता की जांच करें
अब हम यह जांचेंगे कि डोमेन नाम मान्य है या नहीं। हम इसे "DNS जानकारी सिद्ध करने के लिए एक नेटवर्क कॉल" के माध्यम से करने जानते हैं। हम "urllib" लाइब्रेरी के "request()" फंक्शन का उपयोग कर सकते हैं। यदि एक URL मान्य नहीं है, तो यह एक "HTTPError 404" संदेश उत्पन्न करेगा।

import urllib

def is_valid_domain(url: str) -> bool:
    try:
        domain = url.split("/")[2]
        urllib.request.urlopen("http://" + domain)
    except:
        return False
    return True

उपयोग:
is_valid_domain("https://www.example.com/spam/index.html")
आउटपुट: True

is_valid_domain("https://www.examplerrrrrrre.com/spam/index.html")
आउटपुट: False


चरण 3: URL में कोई नुकसानकारी शब्द हैं या नहीं वे का पता लगाएँ
असुरक्षित URL का पहला संकेत उस URL में मौजूद असुरक्षित शब्द होता है। असुरक्षित शब्द "malware", "phishing", "virus", "spam" और "ad" शामिल होते हैं। हम उनके लिए जंगरोग पल्ट सकते हैं वे पहले उपरोक्त सूचित शब्दों में होंगे नहीं।

def has_malicious_words(url: str) -> bool:
    malicious_words = ["malware", "phishing", "virus", "spam", "ad"]
    for word in malicious_words:
        if word in url.lower():
            return True
    return False

उपयोग:
has_malicious_words("https://www.example.com/spam/index.html")
आउटपुट: False

has_malicious_words("https://www.example.com/phishing/index.html")
आउटपुट: True


चरण 4: जांचें कि क्या URL लॉक्ड स्थिति में होता है या नहीं।
अंतिम चरण है कि हम यहां जांचेंगे कि यह URL लॉक्ड होता है या नहीं। हम इसे पहचान सकते हैं क्योंकि लॉक्ड URL हमेशा "https" प्रोटोकॉल का उपयोग करता है। अतः, हमें केवल प्रोटोकॉल की जांच करनी होती है।

def is_url_secure(url: str) -> bool:
    return find_protocol(url) == "https"

उपयोग:
is_url_secure("https://www.example.com/spam/index.html")
आउटपुट: True

is_url_secure("http://www.example.com/spam/index.html")
आउटपुट: False



अंतिम संक्षेप:
ये चरण सभी URL कॉम्पनियों के लिए याद रखने वाले एक बहुत ही आसान फ़ार्मूला है, जो URL के प्रति आपकी चुनौतियों से सामंजस्य और सुरक्षा समस्याओं के कोई भारी खर्च लगातार सुनिश्चित करता है।