[Day9] 记得色情守门员吗? 教你用Python做简易版守门员!

其实我根本不知道色情守门员的原理是什麽,也不想知道 (怨念很深)
这个程序没有那麽神通广大,不能自动侦测网站有没有腥羶色,只能挡掉你指定的网站

本人不是什麽高手,只求堪用就好~
大家可以把程序装在男/女朋友或小孩的电脑里,设定挡掉指定网站的时间,时间到了又可以上了喔!

使用环境

  • Python 3.9
  • notepad++
  • CMD按右键 -> 以系统管理员身分执行 (很重要! 不然程序会失败喔)

程序码

import time
from datetime import datetime as dt

hosts_path = "C:/Windows/System32/drivers/etc/hosts" # 这是Windows系统的路径,别的系统我不会喔

redirect = "127.0.0.1" # 这边设定连到本机,你可以设定任何莫名其妙的IP
website_list = ["cn.pornhub.com","www.pornhub.com"] # 要挡的网站
while True:
    if dt(dt.now().year, dt.now().month, dt.now().day,00) < dt.now() < dt(dt.now().year, dt.now().month, dt.now().day,23): # 设定禁止时间区间(24小时制)
        print("守门员上班ing")
        with open(hosts_path, 'r+') as file: # 打开hosts档案
            content = file.read()
            for website in website_list:
                if website in content:
                    pass
                else:
                    file.write(redirect + " " + website + "\n") # 写入上面的设定
    else:
        with open(hosts_path, 'r+') as file:
            content=file.readlines()
            file.seek(0)
            for line in content:
                if not any(website in line for website in website_list):
                    file.write(line)
            file.truncate() # 删除刚刚写入的那些网站设定
        print("可以坏坏罗")
    time.sleep(5)

成果发表会
https://ithelp.ithome.com.tw/upload/images/20210906/201332864hL77dYVlh.png
执行程序後网站就上不了罗~
我没在开车,只是想表达真的无法连上,拜托不要检举我><

原理说明

好的,虽然我很想把原理说明移到下一篇,
但为了观看次数着想,还是在这边简单的说明一下这是怎麽做到的:

C:/Windows/System32/drivers/etc/hosts

Windows系统里的这个文件,是浏览器上网的第一道门,
如果这个档案有写入网站对应的IP,就会直接送到该IP,不会做任何确认。

就像你手机的电话簿一样,你妈的电话是0912345678,
但今天把你妈在电话簿的号码改成110,之後你在电话簿按你妈的名字,也会无条件打给110。

所以只要更改这个文件,把你要挡的网站指向127.0.0.1(本机)或任何IP,
除非你把档案改回来,不然你永远都不能连上该网站罗~

啊如果想检查你有没有被这样搞的话,你可以ping你连不上的网站
看看网站连线有没有被改成奇怪的IP喔~
https://ithelp.ithome.com.tw/upload/images/20210906/201332869qvIYpZ81T.png
这个就是被改过指向IP了喔!


<<:  前言-为什麽想写这篇

>>:  【Day 9】Python 打包程序

[Day15] 建立订单交易API_8

本节将进行完整的虚拟订单请求发送 def get_order(shop_no, need_pay, ...

[Kata] Clojure - Day 29

Growth of a Population In a small town the populat...

[Lesson12] RecyclerView

activity_main: <?xml version="1.0" en...

行政调查(administrative investigation)

-证据大图 行政调查是内部调查。 调查(Investigation) 调查:调查或研究,检查与某事...

【Day11-映射】浅谈python的map与pandas的map用法

复习一下国中数学应该都有学过函数映射的概念,就是根据特定的规则将输入转换成输出 在做资料处理的过程中...