0

我最近在 HackerNews 上进行了一项测试,邀请人们来破坏我的网络应用程序 ( www.tagxt.com )。

有些人成功地破坏了我试图修复的几件事。

我在这里追求的是:

如何阻止人们创建用户名../../../logout但仍然让他们使用 unicode 字符☃☃☃☃☃☃?此外,_下划线是可以的。

最大用户名长度为 15 个字符,因此性能不是一个重要因素,但我想找到删除危险字符的最快方法。

4

2 回答 2

0

像这样的东西怎么样:

list = ["A", "B", "C"...]
for i in list:    
    string1 = "../../"
    if i in string1:
        print("Error")

我不确定...

于 2012-10-06T17:38:23.897 回答
0

验证字符的最快方法是创建所有允许字符的白名单:

allowed = [ 'A','B','C'...]

如果这看起来很乏味,请使用诸如 OWASP ESAPI 之类的库

于 2012-10-06T18:28:42.720 回答