python--DenyHttp项目(2)--ACM监考客户端1.0版
修复了: 360搜索可以使用的漏洞
更新版本,上一版本复制的Hosts文件保留的漏洞
#coding:gbk import os import sys from subprocess import * import time def Denyfile(): if not os.path.exists('D:\DenyHttp'): os.mkdir('D:\DenyHttp') os.mkdir(r'D:\DenyHttp\restore') hostsName = 'C:\Windows\System32\drivers\etc\hosts' filename = r'D:\DenyHttp\hosts' '''若存在原文件,删除''' if os.path.exists(r'D:\DenyHttp\hosts') and os.path.exists(r'D:\DenyHttp\restore\hosts'): print(filename + '已存在!开始删除文件') os.system("del /f /s /q D:\DenyHttp\*.*") os.system("rd /s /q D:\DenyHttp") print('文件已经删除!') '''删除后创建新的目录''' print('创建文件夹:') os.system('mkdir d:\\DenyHttp\\restore') print('准备复制:') if not os.system(r'copy '+ hostsName +' D:\DenyHttp'): print('file remove from ' + hostsName + ' to ' + filename) if not os.system(r'copy '+ hostsName + r' D:\DenyHttp\restore'): print('file remove from ' + hostsName + ' to D:\DenyHttp\restore') L = [] denyNetAddress = getHTTPList(L) '''添加htttp到文件''' for s in denyNetAddress: os.system('echo ' + s +'>>' + filename) '''修改hosts文件''' if not os.system(r'copy D:\DenyHttp\hosts C:\Windows\System32\drivers\etc'): print('file hosts has been already discovered!') def Recoverfile(): if not os.system(r'copy D:\DenyHttp\restore\hosts C:\Windows\System32\drivers\etc'): print('file hosts has been already recovered!') def detectnet(): L = [] denyNetAddress = getNetList(L) mark = 1 for s in denyNetAddress: p = Popen(["ping.exe" , s], stdin=PIPE,stdout=PIPE,stderr=PIPE, shell=True) out = p.stdout.read() if '127.0.0.1' in str(out): mark = 0 '''mark为假不能访问''' if not mark: print('can\'t request http') else: print('can request http') return mark def getHTTPList(denyNetAddress = []): denyNetAddress.append('127.0.0.1 sg.search.yahoo.com') denyNetAddress.append('127.0.0.1 www.cnblogs.com') denyNetAddress.append('127.0.0.1 www.baidu.com') denyNetAddress.append('127.0.0.1 www.sogou.com') denyNetAddress.append('127.0.0.1 blog.csdn.net') denyNetAddress.append('127.0.0.1 www.soso.com') denyNetAddress.append('127.0.0.1 cn.bing.com') '''1.0修复''' denyNetAddress.append('127.0.0.1 www.so.com') return denyNetAddress def getNetList(denyNetAddress = []): denyNetAddress.append('www.baidu.com') denyNetAddress.append('www.sogou.com') denyNetAddress.append('www.soso.com') denyNetAddress.append('cn.bing.com') denyNetAddress.append('www.so.com') denyNetAddress.append('sg.search.yahoo.com') denyNetAddress.append('www.cnblogs.com') denyNetAddress.append('blog.csdn.net') return denyNetAddress if __name__ == '__main__': # Denyfile() Recoverfile() # print(detectnet())
python--DenyHttp项目(2)--ACM监考客户端1.0版的更多相关文章
- python--DenyHttp项目(2)--ACM监考客户端测试版(1阶段客户端总结)
客户端: 1.既然脚本是让别人用的,怎么说也得有个界面,(虽然很low) ''' DenyManager.py 调用客户端与客户端界面 ''' from DenyClient import * fro ...
- python--DenyHttp项目(2)--ACM监考客户端测试版☞需求分析
写脚本之前,先写个需求分析 以后会多写一些脚本,会注意这方面的 禁止HTTP请求☞需求分析 核心功能: 通过修改Hosts文件,禁止用户访问百度等搜索引擎 实现方法: 通过CMD控制台命令COPY覆盖 ...
- python【项目】:选课系统【简易版】
功能要求 角色:学校.学员.课程.讲师要求:1. 创建学校2. 创建课程3. 课程包含,周期,价格,通过学校创建课程4. 通过学校创建班级, 班级关联课程.讲师5. 创建学员时,选择学校,关联班级5. ...
- 使用Nginx+Uwsgi部署Python Flask项目
第一次用Flask做Web(也是第一次用Python做Web),在部署的时候遇到了不少问题,现在将过程就下来,供在这方面也有疑惑的人参考.(PS:使用Apache+mod_wsgi部署模式的可以参考另 ...
- 32个Python爬虫项目让你一次吃到撑
整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)O WechatSogou [1]- 微信公众 ...
- Github上的python开源项目
Python开源项目,期待大家和我们一起共同维护 github排名榜单 https://github.com/trending github搜索榜单:https://github.com/search ...
- Android 开源项目 eoe 社区 Android 客户端(转)
本文内容 环境 开源项目 eoe 社区 Android 客户端 本文介绍 eoe 社区 Android 客户端.它是一个开源项目,功能相对简单,采用侧边菜单栏.可以学习一下.点击此处查看 GitHub ...
- python socket之tcp服务器与客户端demo
python socket之tcp服务器与客户端demo 作者:vpoet mails:vpoet_sir@163.com server: # -*- coding: cp936 -*- ''' 建立 ...
- Pycharm+django新建Python Web项目
这两天初学Python,首先是学习Python语法有PyCharm就可以运行Console程序了,因为是初学所以,尽量写的比较详细,包括参考的资料地址... 1.下载Python,并安装[本文版本 ...
随机推荐
- SQL检测开始日期 结束日期 是否存在交叉
检测开始日期 结束日期 是否存在交叉 "+tj+" and ((starttime>="+starttime+" and starttime<=&q ...
- IOS 固定定位底部input输入框,获取焦点时弹出的输入法键盘挡住input
移动页面经常会做到这样一个效果,看下面的图片,重点就是那个固定定位的底部,里面有个input输入框,在输入字符的时候,安卓手机看着是完全没有问题! 1.页面没有点击底部input的初始状态 2.安卓手 ...
- 发布.NET MVC网站 到Azure
最近的项目部署在Microsoft Azure,学习了一些新东西,记录下. 1.账号. 用于登录portal(https://portal.azure.cn/),账号下有对应的Subscription ...
- Chapter 2. Video Formats and Quality
本章节主要介绍一些视频格式相关的基础知识. 交织(Interlace) 即每一个采样帧采样时隔行采样,奇数行和偶数行交替. YCbCr 人眼视觉系统(Human Visual System, HVS) ...
- 【Android Developers Training】 55. 序言:高效显示位图
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- CentOS7.2上用KVM安装虚拟机window10踩过的坑
最近两个星期一直在琢磨kvm安装window10操作系统,并且通过桥接模式与外界通信,经历了九九八十一难,终于搞定.下面就记录以下我们在探索的过程中踩过的坑. 安装KVM 1. 系统要求:需要一台可以 ...
- python实现折半查找算法&&归并排序算法
今天依旧是学算法,前几天在搞bbs项目,界面也很丑,评论功能好像也有BUG.现在不搞了,得学下算法和数据结构,笔试过不了,连面试的机会都没有…… 今天学了折半查找算法,折半查找是蛮简单的,但是归并排序 ...
- Unity 游戏框架搭建 (三) MonoBehaviour单例的模板
上一篇文章讲述了如何设计C#单例的模板.也随之抛出了问题: 如何设计接收MonoBehaviour生命周期的单例的模板? 如何设计? 先分析下需求: 1.约束脚本实例对象的个数. 2.约束 ...
- Linux程序设计之shell程序设计
看了<linux程序设计(第4版)>(作者:Neil Matthew ,Richard Stones ,陈建 ,宋健建译).做个笔记,以备后面查看. 首先,清楚几个概念. shell编程属 ...
- BufferedReaderTest
package JBJADV003;import java.io.*;public class BufferedReaderTest { /** * @param args */ public sta ...