设为首页 收藏本站
查看: 1380|回复: 0

[经验分享] Python简单DB认证系统

[复制链接]

尚未签到

发表于 2018-8-15 09:48:34 | 显示全部楼层 |阅读模式
'''  
用户登录-添加-删除,登陆成功后执行系统命令,失败提示。通过mysql数据库认证。  打印color
  
'''
  
#encoding:utf8
  
import os
  
import sys
  
import datetime
  
import MySQLdb
  
import time
  
import sh
  
class Colored(object):
  
    # 显示格式: \033[显示方式;前景色;背景色m
  
    # 只写一个字段表示前景色,背景色默认
  
    RED = '\033[31m'       # 红色
  
    GREEN = '\033[32m'     # 绿色
  
    YELLOW = '\033[33m'    # 黄色
  
    BLUE = '\033[34m'      # 蓝色
  
    FUCHSIA = '\033[35m'   # 紫红色
  
    CYAN = '\033[36m'      # 青蓝色
  
    WHITE = '\033[37m'     # 白色
  
    #: no color
  
    RESET = '\033[0m'      # 终端默认颜色
  
    def color_str(self, color, s):
  
        return '{}{}{}'.format(
  
            getattr(self, color),
  
            s,
  
            self.RESET
  
        )
  
    def red(self, s):
  
        return self.color_str('RED', s)
  
    def green(self, s):
  
        return self.color_str('GREEN', s)
  
    def yellow(self, s):
  
        return self.color_str('YELLOW', s)
  
    def blue(self, s):
  
        return self.color_str('BLUE', s)
  
    def fuchsia(self, s):
  
        return self.color_str('FUCHSIA', s)
  
    def cyan(self, s):
  
        return self.color_str('CYAN', s)
  
    def white(self, s):
  
        return self.color_str('WHITE', s)
  
class initdb(object):
  
    #conn=MySQLdb.connect(host='10.7.7.180',user='root',passwd='123456',db='test')
  
    #cur=conn.cursor()
  
    def __init__(self,username='NULL',password='NULL'):
  
        self.username=username
  
        self.password=password
  
        self.conn=MySQLdb.connect(host='10.7.7.180',user='root',passwd='123456',db='test')
  
        self.cur=self.conn.cursor()
  
    def add_user(self):
  
        itime=datetime.datetime.now()
  
        self.cur.execute("INSERT INTO user (username, password,createtime) VALUES ('%s','%s','%s')" % (self.username,self.password,itime))
  
        self.cur.close()
  
        self.conn.commit()
  
        self.conn.close()
  
        return "Add user %s successful!" % self.username
  
    def login_check(self):
  
        self.cur.execute("select * from user where username='%s' and password = '%s'" % (self.username,self.password))
  
        qur_result = self.cur.fetchall()
  
        if qur_result == ():
  
            return 0
  
        else:
  
            return 1
  
        self.cur.close()
  
        self.conn.close()
  
    def del_user(self):
  
        self.cur.execute("delete from user where username='%s'" % self.username)
  
        self.cur.close()
  
        self.conn.commit()
  
        self.conn.close()
  
    def see_user(self):
  
        self.cur.execute("select * from user")
  
        data = self.cur.fetchall()
  
        self.cur.close()
  
        self.conn.close()
  
        d = list(data)
  
        for x in d:
  
            print x
  
while True:
  
    color = Colored()
  
    print color.fuchsia('*'*50)
  
    choice=raw_input(color.green("请选择操作选项:\n\t[1]添加用户\n\t[2]登陆用户\n\t[3]删除用户\n\t[4]查看用户信息\n\t[5]退出程序\n请选择:"))
  
    if choice == '1':
  
        inname=raw_input(color.yellow("请输入要添加的用户名称:"))
  
        inpassword=raw_input(color.yellow("请输入要为%s添加的密码:" % inname))
  
        initdb(inname,inpassword).add_user()
  
        print color.blue("用户%s添加成功!" % inname)
  
    elif choice == '2':
  
        username=raw_input(color.yellow("请输入用户名:"))
  
        password=raw_input(color.yellow("请输入密码:"))
  
        f=initdb(username,password).login_check()
  
        if f == 0:
  
            print color.red("Login faild!please check your username and password!")
  
        elif f == 1:
  
            print color.green("Login successful!\nHello,MR %s" % username)
  
            time.sleep(3)
  
            filelist=open('/etc/passwd')
  
            for i in filelist.readlines():
  
                print i
  
            time.sleep(3)
  
            print sh.ifconfig('ens33')
  
            print sh.df('-h')
  
            print sh.free('-m')
  
            print sh.tail('-100','/var/log/auth.log')
  
        else:
  
            print "something wrong!"
  
    elif choice == '3':
  
        dname=raw_input(color.yellow("请输入要删除的用户名称:"))
  
        initdb(dname).del_user()
  
        print color.red("用户%s删除成功!" % dname)
  
    elif choice == '4':
  
        initdb().see_user()
  
    elif choice == '5':
  
        print color.green("程序已退出,欢迎下次光临!")
  
        break
  
    else:
  
        print  color.red("未知的选项,请重新输入!")

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-552025-1-1.html 上篇帖子: Python之MySQLdb操作数据库 下篇帖子: Python-基础-时间日期处理小结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表