毕业论文
您现在的位置: 心肌病治疗 >> 心肌病中医治疗 >> 正文 >> 正文

如何编写一个网站会员注册程序

来源:心肌病治疗 时间:2021-12-5
北京著名白癜风医院 https://wapyyk.39.net/bj/zhuanke/89ac7.html

我们经常可以看到,不管是网站还是移动APP,基本都需要你注册账号然后登陆才可以使用网站或者移动APP提供的一些功能。那么,一个简单的账号注册程序是如何编写的呢?

首先,我们需要明确一个账号注册系统包含些什么东西。一般账号注册系统包含账号和密码这两个基本的元素。而账号又可以是电话号码或者是昵称。

其次,在现实社会中,注册账号的时候一般都需要对注册的手机号进行验证,以保证手机号正常使用,那么注册系统除了账号、密码两个元素外,就还需要增加一个验证码元素。

最后,在理清了账号注册系统需要的三个元素:账号、密码和验证码后,我们就来开始编写账号注册程序吧。

"""程序正文"""zhanghaos={}#空的字典,用于存储注册账号和密码print("欢迎进入XXX网站会员注册系统")zhanghao=input("请输入您的手机号:")mima=input("请设置您的登录密码(6位数):")zhanghaos[zhanghao]=mima#将注册账号和密码存储在字典中并一一对应print(zhanghao+:+zhanghaos[zhanghao])#将账号和密码打印出来"""程序结束"""

左右滑动查看完整程序

上面这个程序是最简单的账号注册程序,它只包含了两个元素账号和密码,并将账号和密码一一对应存储在一个空字典里,便于登录时调用账号密码进行登录。

但是,上面这个简单的程序存在很多漏洞:

1.对手机号没有做限定,也没有进行验证

我们都知道:手机号是11位数,9位数或者10位数或者其他非11位数都是不正确的,所以我们首先需要限定手机号的位数为11位;

其次,手机号的前三位数是被三大运营商确定了的,具有统一的格式,比如,,,等等,所以我们得限定电话号码前三位数的格式,使其符合三大运营商的规则;

最后,注册账号的手机号需要进行验证,这可以保证此手机号在正常使用中,便于后期忘记密码能够正常登陆账号。

2.密码虽然做了6位数的提示,但在程序中没有做限定

在上面的程序中,我们对密码的位数做了限制提示,即密码为6位数,以保证密码的安全性,太过简单容易被破解。但我们虽然做了提示,却没有在程序中做出限定,结果就是输入任意位数的密码都可以被程序通过,这肯定是不可以的。

好了,找出了上面账号注册程序存在的问题之后,我们就需要对其进行修改完善。

"""程序正文"""importrandomzhanghaos={}#空的字典,用于存储注册账号和密码dhkts=[,,,,,,,,,,,,,,,,,,,,,,,,,]print("欢迎进入XXX网站会员注册系统")zhanghao=input("请输入您的手机号:")whilelen(str(zhanghao))!=11:zhanghao=input("您输入的手机号不符合规范,请重新输入:")whilelen(str(zhanghao))==11:dhlbs=list(str(zhanghao))dhkt3=int(f{dhlbs[0]}{dhlbs[1]}{dhlbs[2]})ifdhkt3notindhkts:zhanghao=input("您输入的手机号不符合规范,请重新输入:")else:breakyzm=int(random.randint(,))print(f您当前的验证码是{yzm},有效期3分钟,请尽快验证!)yanzheng=int(input("请输入验证码:"))whileyanzheng!=yzm:yanzheng=int(input("您输入的验证码错误,请重新输入:"))mima=input("请设置您的登录密码(6位数):")whilelen(str(mima))!=6:mima=input("请设置6位数密码:")zhanghaos[zhanghao]=mima#将注册账号和密码存储在字典中并一一对应print(zhanghao+:+zhanghaos[zhanghao])#将账号和密码打印出来"""程序结束"""

左右滑动查看完整程序

这样,一个正常的网站账号注册程序就编写完成了。在下一篇文章中,我将对这个程序进行详细的解释。

同时,这个程序还遗留有几个问题:

1.一个账号具有唯一性,不能被多次注册

在现实生活中,作为一个账号,不管是电话号码还是昵称,都是具有唯一性的,不可以用同一个号码或者昵称在同一个网站上注册两个及以上账号。这一点在本程序中没有做限制,这将在下一篇文章中完善并讲解。

2.验证码时间限制程序没有编写

就是验证码3分钟过期,过期后重新发送验证码并进行验证的程序没有写出来。因为我还没有学到如何在程序中插入时间代码,如果有会的大神可以在评论区评论,谢谢!

我是Python自学僧,一个爱好编程、正在努力自学Python的自学僧一枚。喜欢我,可以点击上方蓝字

转载请注明:http://www.lixiaoqin18.com/xjbzyzl/10523.html