Webapp用户名安全

2024-04-19 10:46:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python(和Flask)创建一个webapplication,用户可以用他们想要的用户名注册。我想在/user/上显示他们的个人资料,并在服务器上为每个用户设置一个目录。你知道吗

确保url和目录的用户名安全的最佳方法是什么?我在base64中了解到有人在使用urlsafe方法,但我希望有一个与用户名相关的字符串,以便于识别。你知道吗


Tags: 方法字符串用户服务器目录urlflask用户名
1条回答
网友
1楼 · 发布于 2024-04-19 10:46:36

这种URL安全值的通用术语是"slug",生成一个值的过程称为“slugify”或“to slugify”。人们通常使用正则表达式来实现这一点;这里有一个(来源于this article on the subject),只使用stdlib模块:

import re
from unicodedata import normalize

_punct_re = re.compile(r'[\t !"#$%&\'()*\-/<=>?@\[\\\]^_`{|},.]+')

def slugify(text, delim=u'-'):
    """Generates an slightly worse ASCII-only slug."""
    result = []
    for word in _punct_re.split(text.lower()):
        word = normalize('NFKD', word).encode('ascii', 'ignore')
        if word:
            result.append(word)
    return unicode(delim.join(result))

链接的文章还有另外两个需要额外模块的选项。你知道吗

相关问题 更多 >