从字符串中删除不安全字符但保留unicode字符的最快方法?

时间:2012-10-06 01:53:07

标签: python string security unicode

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

有些人成功地打破了我想要解决的几件事。

我在这之后的是:

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

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

2 个答案:

答案 0 :(得分:0)

这样的事情:

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

我不太确定......

答案 1 :(得分:0)

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

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

如果这看起来很乏味,请使用像OWASP ESAPI

这样的库