4

我很好奇我在 wakari 网站上注册时遇到的一些事情。我输入了类似于 abc.def.ghi 的用户名和所有其他信息并提交了表单(或者至少尝试提交!)。它抛出了一个错误,上面写着“用户名必须是一个有效的 python 变量”,所以他们显然在他们的后端用用户名作为 python 变量做了一些事情。如果这是他们正在使用的某种设计方案,他们将用户信息存储为 python 变量或类似的东西,谁能向我解释一下。我再次道歉,因为这不是一个真正的特定编程问题,但这让我很吃力,我必须知道为什么会这样。

以下是网址:

https://www.wakari.io/usermgmt/loginorregister

4

2 回答 2

1

这是纯粹的猜想。我可以看到 wakiri 做的一件事是使用用户名作为代码的模块名称。那可能很有趣。因此将用户代码存储为wakiri.<username>. 然后应用程序可能正在执行导入wakiri.<username>,其中包含一些有趣的东西__init__.py,运行它找到的任何东西。

也许就是这样。或者他们可能将用户代码存储在磁盘上的文件中。也许用户代码被写到一个包含大量包含代码并以用户名命名的字典的文件中?

也许他们甚至没有使用它,只是认为将人们限制为有效的 Python 变量很可爱。

于 2012-11-10T11:14:58.953 回答
0

我是一名 Wakari 开发人员,我们刚刚发现了这个问题。简短的版本是您使用有效的 UNIX 用户名是非常安全的,并且“错误”文本应该使用更好的“普通英语”来说明这一点。

我们说用户名需要是一个有效的 Python 模块名称的原因是我们想象有一天用户可以有~/public_python一个地方来放置可直接共享的代码,然后其他用户可以通过类似from wakari.users import steve. 我们将由您决定您是否steve足够信任用户以直接导入他的代码。

于 2013-06-03T17:07:21.250 回答