Python中文
首页
教程
问答
标签
搜索
登录
注册
在Python PyQt桌面应用程序中安全地验证和授权用户
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我开发的应用程序规定软件应该防止未经授权的访问。为了实现这一点,我使用了基于用户和密码的身份验证,有两个可用的角色-标准用户和管理员。在</p> <p>这完全是在Python中实现的,使用SQLAlchemy与数据库交互,PyQt用于用户界面。在</p> <p>输入的密码使用brcypt进行哈希处理,然后与数据库中相应用户名的哈希值(web服务中使用的标准身份验证技术)进行比较。在</p> <p>成功身份验证后,一个名为<code>self.authenticatedUser</code>的变量保存一个类<code>User</code>的SQLAlchemy实例。在</p> <p>这种实现的结果是,任何人都可以编辑login方法,使用username admin直接查询数据库中的<code>User</code>类型的对象,并将返回的<code>User</code>的SQLAlchemy实例分配给<code>self.authenticatedUser</code>,这样黑客就可以访问系统了。在</p> <p>因为,我正在分发这个用python编写的软件,黑客(或任何程序员)要禁用身份验证机制只需几分钟。另外,我不能</strong>在这里使用web服务来通过获取登录令牌进行身份验证或授权,因为该软件将在具有<a href="https://en.wikipedia.org/wiki/Air_gap_(networking)" rel="noreferrer">air gap</a>的环境中使用。在</p> <p>有没有什么具体的方法可以更安全地实现这一点?在</p> <ol> <li>使用mysqla本地数据库</li> <li>使用一个安全的(相对难以逆向工程的)机制。在</li> </ol>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>即使存在气隙,也可以进行维修。但是,如果您不想这样做,您应该保护您的数据,就像您为每个用户提供了一个propper SQL客户机(如pgAdmin或sqlservermanagementstudio)。我建议您开始在数据库级别配置角色/用户。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
5 回答
如何添加表示整数的擦边字符串?
4 回答
如何添加要在Bokeh中使用的新font.ttf文件?
3 回答
如何添加要显示的矩阵XY轴编号和XY轴
6 回答
如何添加计数?
6 回答
如何添加计数器函数?
1 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
4 回答
如何添加计数器来跟踪while循环中的月份和年份?
7 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
6 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
4 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
7 回答
如何添加评论拉梅尔亚姆
1 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
6 回答
如何添加谷歌地点自动完成到Flask?
9 回答
如何添加超时、python discord bot
7 回答
如何添加超过1dp的检查
7 回答
如何添加距离方法
6 回答
如何添加跟随游戏的敌人精灵
2 回答
如何添加路径以便python可以找到程序?
3 回答
如何添加身份验证/安全性以使用happybase访问HBase?
1 回答