开发者社区> 问答> 正文

数据库方面的面试题,求解答:报错 

刚看见这上面有人问面试题怎么回答,我也想到前几天的一个特别没思路的面试题。求各位前辈老师解答。
一张数据库表上有着十分机密的用户账号和密码信息。
要怎么防止数据库管理员得到用户的信息。
不考虑数据库权限、不考虑加密、不考虑数据库类型、不考虑程序控制。
差不多就是这样吧,上边的【不考虑】是我回答过的,面试官说管理员可以登录修改用户密码和然后就可以登录了。

展开
收起
kun坤 2020-06-04 21:14:04 686 0
1 条回答
写回答
取消 提交回答
  • 三个字,不可能######回复 @DanceCoder : 没有这种数据库管理员,如果是系统里的管理员,倒是可以通过系统代码,实现管理员只能管理不能查看的逻辑。数据库本身的管理员不行,除非让数据库管理员都进不了数据库,那还管理啥。######回复 @乌龟壳 : 面试官说可以执行增删改查,就是直接在控制台执行SQL语句的那种。######回复 @HankeBoom : 如果有背景就可能不一样,比如说的其实是所谓的数据库管理员之类的,就看看服务器状态那些,数据库都没权限进去######哈哈哈,面试官好坏。。。。。######你确认他不是在出脑筋急转弯?

    ######不知道,根据我仅有的面试经验,一般都是先问一些基础的问题。我也不知道他为什么问这么摸不着头脑的问题。难道是在考察我的解决问题能力?###### 数据库管理员没有权限看数据库,感觉就像厨师不能进厨房一样。######面试官的意思是不要在管理员权限方面限制不同权限级别的管理员###### 在java程序是对用户名和密码进行了加密后存入数据库的,登录的时候时候再提取数据库的数据进行相反的解密过程,如果一致,才通过
    根据你的描述,管理员A又可以管理服务器后台,又可以管理数据库,那只能说明管理员只能为一个(多了就权责不分了),当然最好的是 不要给A日志信息查看权限,要不然就他就可以做到天衣无缝。
    以上是个人对数据安全性的理解
    下面废话:1:不考虑数据库权限、不考虑加密、不考虑数据库类型,说明数据库安全性有问题。2:面试官的回答“登录修改用户密码和然后就可以登录了。” ,有点sb思维,我都看得到密码了,还用修改后台的密码,还要脱裤子放屁(多此一举) ######哈哈哈,面试官确实好坏###### 这种东西只有在登录的时候处理吧.
    数据库都是持久性的东西, 不管如何加密. 只要修改成一个我知道的明文加密的数据不就行了?
    所以,还是在登录的后台做处理.
    比如加密的是根据用户输入的密码加上用户名之类的处理过的密码.
    那么数据库管理员不知道后台的处理逻辑, 修改了数据库也无用. ######长知识了,谢谢######66666###### 看看是否可以这样做
    用户的相关信息只通过uuid来查询,并且所有信息与用户名无相关性。用户名和uuid的对应关系拆分成多个记录保存,比如用户名abc ,uuid 123-456-789-012-234 保存成加密后的记录
    cde asd
    ghi fdfd
    jkl rrr
    mno !3e
    pqr rwq
    这里第一列是abc加上序号 变成的abc1,abc2...再加密后的字符串,第二列是uuid片段加密后的数据,
    客户端通过多次请求再解密获取完整的uuid,然后获取数据,这样除非管理员能解密否则无法获得完整数据 ######就是性能堪忧######这个有点厉害啊######

    引用来自“cys1357”的评论

    看看是否可以这样做 用户的相关信息只通过uuid来查询,并且所有信息与用户名无相关性。用户名和uuid的对应关系拆分成多个记录保存,比如用户名abc ,uuid 123-456-789-012-234 保存成加密后的记录 cde asd ghi fdfd jkl rrr mno !3e pqr rwq 这里第一列是abc加上序号 变成的abc1,abc2...再加密后的字符串,第二列是uuid片段加密后的数据, 客户端通过多次请求再解密获取完整的uuid,然后获取数据,这样除非管理员能解密否则无法获得完整数据 可是都说了不允许加密了,实在想不出不加密怎么办了######你需要了解MySQL的“视图”是干嘛的。。。。。。。######视图不是也可以执行改数据操作吗######

    引用来自“cys1357”的评论

    看看是否可以这样做 用户的相关信息只通过uuid来查询,并且所有信息与用户名无相关性。用户名和uuid的对应关系拆分成多个记录保存,比如用户名abc ,uuid 123-456-789-012-234 保存成加密后的记录 cde asd ghi fdfd jkl rrr mno !3e pqr rwq 这里第一列是abc加上序号 变成的abc1,abc2...再加密后的字符串,第二列是uuid片段加密后的数据, 客户端通过多次请求再解密获取完整的uuid,然后获取数据,这样除非管理员能解密否则无法获得完整数据

    引用来自“钛元素”的评论

    可是都说了不允许加密了,实在想不出不加密怎么办了 上面的加密只是为了去掉多个片段记录中用户名的相关性,让管理员无法通过搜索找出所有和这个用户名相关的记录项,不需要解密,只是一种变换算法。
    2020-06-08 10:04:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云技术面试红宝书 立即下载
超全算法笔试-模拟题精解合集 立即下载
程序员面试宝典 立即下载