繁体   English   中英

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

[英]Fastest way to remove unsafe chars from string but keep unicode characters?

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

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

我在这里追求的是:

如何阻止人们创建../../../logout这样的用户名,但仍然让他们使用☃☃☃☃☃☃等Unicode字符? 另外, _下划线也可以。

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

像这样的事情呢:

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

我不确定...

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM