打印

[交流] 我只说一个技术上的问题

0

我只说一个技术上的问题

关于用户信息。是保存在数据库里面的一行一行数据。
每一个典型用户信息里面有两个特殊的字段:id 和 用户名(id这个字段在SIS好像叫UID还是什么 反正肯定有这个字节 大家懂的)

我来解释一下 id 就是每个用户的身份证代码 一般来说 是表示他是这个站点的第几个用户。是每个用户的唯一识别码。在绝大部分的站点,包括用户名都是可以修改的,但是id这个字节是跟随你一生一世无法改变的。因为你要修改你的id,你就必须把之前那个id从属的用户给删掉。不然你是没法修改自己的id的

因为 id 和 用户名 有一个非常显著的特点:绝,对,不,可,以,重,复。

而其他的 不管是密码还是登记信息还是注册信息 所有的信息 都只是一个可以任意修改的字段。

所以。在站点中一个用户的身份是依靠 id和用户名 两个来同时确认的。
所有做过论坛的同志应该知道 就算你把一个用户的id修改为一个没人用的id 也会出问题。因为很多站点逻辑是调用用户id而不是用户名。

综上。如果谁想要证明自己的身份。请出示自己的“身份证” 也就是你的id。至于注册时间,你给我数据库的密码,我可以改成1900年而不会导致任何bug。但是你试试去改id试试~
别忘记,id靠前的都是创始人们。他们自己的id自己当然记得住。你能占用谁的id呢?

大家都是技术人员。这点就别玩虚的了

TOP

0
uid也是可以改的

TOP

0
uid貌似改不了的啊 ..

TOP

0
uid是可以改的,uid只是discuz根据顺延的自动赋值而已,在mysql数据库里是可以直接修改的,更简单就是替换

TOP

0
uid是不能改的 比如我即使有权限 我想把我的uid改为3 我就必须把老A删掉 或者把他的uid改掉
但是这样的结果……不需要我废话吧?

而且 即使我改掉了我的id  事实上很多时候站点的逻辑层调用我的帖子或者回复信息时候是根据我之前的uid调用的 我修改了我的uid 那么我之前的所有数据都得依次修改 否则就会出现调用出错。
比如我把我的uid改为3 那么我的近期回复那里就会出现老A的帖子 而不是我自己的。
绝大部分站点都是如此 我觉得某位同志没有这么有先见之明把整个逻辑层改为用userName调用吧

是的话我也表示对他能力的膜拜

TOP

0
记住一点 uid 是不允许重复的
所以 你要修改一个新的uid 就必须把原来的那位拥有这个uid的家伙删除

对于会员来说 这个不是什么问题
但是涉及到创始人……呵呵 大家自己uid心里都有数 你是把人家删掉还是跟人家换一下 而且还能让人家没反应呢?

TOP

0
引用:
原帖由 骚屄玲 于 2011-9-24 21:01 发表
uid是不能改的 比如我即使有权限 我想把我的uid改为3 我就必须把老A删掉 或者把他的uid改掉
但是这样的结果……不需要我废话吧?

而且 即使我改掉了我的id  事实上很多时候站点的逻辑层调用我的帖子或者回复信息 ...
你这本身就在阐述一种修改uid的方法,实际上不用删除,直接把要被改的用户的uid修改为一个极大值,然后将要提前的用户的uid改为这个人原来的uid就可以

调用错误的话,你修复一下数据库,然后清空cache即可了

TOP

0
引用:
原帖由 mitglied 于 2011-9-24 21:25 发表

你这本身就在阐述一种修改uid的方法,实际上不用删除,直接把要被改的用户的uid修改为一个极大值,然后将要提前的用户的uid改为这个人原来的uid就可以

调用错误的话,你修复一下数据库,然后清空cache即可了
我说过 这个对于会员来说 很简单的问题
但是对于创始人的uid来是致命伤 因为一个萝卜一个坑 大家都知道自己的uid是什么 你要修改自己的 就必须也修改别人的
明白了吗?除非你本事就是这个uid 不然你没有办法得到这个uid(对于创始人级别的用户来说)

TOP

0
引用:
原帖由 骚屄玲 于 2011-9-24 21:39 发表


我说过 这个对于会员来说 很简单的问题
但是对于创始人的uid来是致命伤 因为一个萝卜一个坑 大家都知道自己的uid是什么 你要修改自己的 就必须也修改别人的
明白了吗?除非你本事就是这个uid 不然你没有办法得 ...
discuz的创始人id最简单,就是admin,uid为1,这个大家都知道,到底谁是这个admin才是真正关键

TOP

0
确切来说 就是你没法在不改动别人的账户的情况下得到一个已经使用的 uid
明白?

TOP

当前时区 GMT+8, 现在时间是 2024-7-2 22:35