资源简介 信息系统专题班级 姓名1.【202212嘉兴】(1)B(2)DE(3)①@a.route("/")②encode(pwd)2.【202302名校协】(1)③⑤①②④(2)pin1 或 p1、5(3)①/input②request.args.get(‘hum’)(4)http://192.168.1.100:8080/input uid=1&hum=200 会注:http://不写给2分,IP地址和端口号写对1分,参数写对1分3.【202302七彩浙南】(1)B(2)http://192.168.113.5/login u=486896762&k=71(3)①/login②int(usr[i])–key(4)A信息系统专题班级 姓名1.【202212嘉兴】小胡使用Python为某校开发了信息管理系统,登录该系统使用如图a所示的页面进行身份认证,密码由6位字母、数字、特殊符号等ASCII码字符组成。为了增强安全性,密码经过异或加密后再存入数据库。如图b所示,数据表中username保存的是用户名,password保存的是加密后的密码,例如用户Sam的密码为“123456”,密钥key为“t6f$Hk”,加密后保存至数据库的值为字符串“069004085016125093”。程序运行界面和部分程序代码如下:import sqlite3from flask import Flask, request, render_templatekey='t6f$Hk' #密钥a=Flask(__name__)def encode(password): #对password加密s = ""for i in range(len(key)):x = str(ord(key[i]) ^ ord(password[i])) #“^”为异或运算符s+=('000'+x)[-3:] #x不足3位补前导0return s#用户名及加密后的密码均已保存至数据库中,代码略①__________________ #设置主页面路由def index():return render_template("login.html") #显示登录页面#用户单击登录按钮后执行以下视图函数@a.route("/login")def login():usr=request.args.get("username")pwd=request.args.get("password")if usr=="" or pwd=="" or len(pwd)!=6: return "输入不正确,请重新输入!"conn=sqlite3.connect("school.db") ; cur=conn.cursor()sql=f"select * from users where username='{usr}' and password='{_____②_____}'"cur.execute(sql) ; users=cur.fetchall()cur.close() ; conn.close()if users:return '登录成功!'else:return '登录失败!'if __name__=="__main__":app.run('127.0.0.1',5000)请回答下列问题:(1)设计该系统的前期准备工作中,根据系统的功能要求,选择采用 B/S 架构,这一过程属于(单选,填字母:A.需求分析 B.开发模式的选择 C.详细设计)。(2)下列说法正确的是 (多选):A访问该网站首页的地址为:http://127.0.0.1B该系统的数据保存在sqlite数据库users中C该系统采用 B/S 架构,用户名和密码保存在school数据表中D为加强系统安全性,可将用户密码保存至数据库中时采用非对称加密算法E使用Flask编写Web应用的流程为:导入框架模块、创建应用实例、编写路由和视图函数、启动Web应用(3)在划线处填入正确的代码。2.【202302名校协】市场上有出售智能花盆或智能盆栽等产品,这些产品大多能实时监测植物生长状态,通过网络获取花盆的环境信息,并对植物进行远程浇灌。小王利用micro:bit,结合土壤湿度传感器等,将家庭中常见的盆栽改造成智能盆栽。(1)在搭建该信息系统前,需要进行前期准备的步骤依次为 。①开发模式选择 ②概要设计 ③需求分析 ④详细设计 ⑤可行性分析(2)硬件搭建。micro:bit利用土壤湿度传感器获取土壤湿度信息,通过IoT模块将数据传送至服务器端,并利用继电器控制水泵实现对植物的浇灌。“智能盆栽”系统的整体框架下图所示:“智能终端”部分代码如下:from microbit import *import Obloq#设置服务器参数、WiFi名称密码和当前盆栽的uid,并连接WiFi,代码略while True:hum=pin1.read_analog()status, resp=Obloq.get("input uid="+str(uid)+"&hum="+str(hum), 2000)if status==200:if resp=='1': #1表示打开浇灌,0表示关闭浇灌pin12.write_digital(1) ; sleep(5*1000) ; pin12.write_digital(0)else:display.scroll(str(status))sleep(60*1000)由以上代码可知,土壤湿度传感器接在智能终端的 口上,当盆栽需要浇水时,每次浇灌的时间为秒。(3)Web服务器端程序使用Flask框架编写,部分代码如下,请在划线处填入合适的代码。#导入flask等相关的库,代码略app=Flask(__name__)@app.route('① ',methods=['GET'])def insert():uid=request.args.get('uid') #获取花盆编号值data=float(② ) #获取土壤湿度值value=300if data>value:water=0else:water=1#将接收到的数据存入数据库,代码略return str(water)if __name__=='__main__':app.run(host='192.168.1.100',port=8080)(4)系统搭建好后,若uid为1的盆栽某次采集到的土壤湿度值为200,则将该值上传到服务器端的URL为:,上传成功后,水泵 (选填:会/不会)浇灌盆栽。3.【202302七彩浙南】某智能门禁系统的一个子系统功能是完成身份认证功能。智能终端通过用户刷卡或者指纹获取 用户 ID 数据,加密后发送到 Web 服务器,通过对比数据库中的用户信息完成身份认证并留下登 录记录。该子系统部分功能实现如下,请回答相关问题。(1)该子系统架构图如图 a 所示,那么图中①处最合适的选项是 (单选,填字母:A.交换机 / B.防火墙 / C.服务器)(2)智能终端读取到用户ID后将加密后的ID和加密后密钥一起发送到服务器,部分程序如下,若密文是“486896762”,加密后密钥是“71”,那么系统发送数据的 URL是。from microbit import *import random, ObloqIP="192.168.113.5" ; PORT="80"SSID="freeWiFi" ; PASSWORD="103103103"#上述参数设置uart串口并用Obloq模块建立网络连接,代码略Obloq.httpConfig(IP, PORT)while True:key=random.randint(3, 9) #随机产生密钥enkey=ord("A")^key #加密后的密钥,如71,^表示异或运算#读取身份证号信息并使用密钥key进行加密,#加密后身份证保存在字符串idnum中,如486896762,代码略err, res=Obloq.get("login u="+idnum+"&k="+str(enkey))if err==200:print("用户信息发送成功!")sleep(5*1000)(3)为了保证数据在网络传输过程中的安全,小林设计了如下简单加密算法,如图b所示:①用户ID由数字字符组成,如“820230106”,采用替代加密,若密钥是 6,则用户 ID 的加密结果是“486896762”;②由于密钥6也要在网络中传输,因此密钥也要加密,小林采用字符“A”的 ASCII 码进行简单异或加密,加密结果是65 6=71;③接收端先对加密的密钥进行解密:71 65=6,然后用该密钥解密密文,结果是用户ID的明文“820230106”。以下服务端程序实现了解密与用户身份验证过程,请将该算法补充完整。from flask import Flask, render_template,requestapp=Flask(__name__)@app.route("/")def index():return render_template("home.html")@app.route("① ",methods=["GET"])def decode():usr=request.args.get("u") # 接收到的用户 ID 密文,数字字符串格式enkey=int(request.args.get("k")) # 接收到的已加密的密钥,整数格式key=enkey^ord("A") # 对加密过的密钥进行解密res=""for i in range(len(usr)):num=(② +10)%10res=res+str(num)(#根据解密后的用户信息查询数据库并验证,代码略)if __name__=="__main__":app.run(host="0.0.0.0",port="80",debug=True)(4)若系统数据库为“sys.db”,存储已授权用户信息的数据表为“users”,用户信息字段名为“userid”,则上述加框处查询用户信息的SQL语句是( )(单选,填字母)A."SELECT * FROM users WHERE userid=%s"%resB."SELECT * FROM sys WHERE usr=%s"%useridC."SELECT * FROM sys WHERE userid='urs'"D."SELECT * FROM users WHERE userid='res'"4.关于信息系统,你还存在什么问题? 展开更多...... 收起↑ 资源列表 浙教版新教材(2019)信息技术选考二轮复习系列专题配套练习——信息系统专题.docx 浙教版新教材(2019)信息技术选考二轮复习系列专题配套练习——信息系统专题答案.docx