0

私は最近、私の Web アプリ ( www.tagxt.com )を壊すよう人々に呼びかける HackerNews でテストを行いました。

私が修正しようとしているいくつかのことを壊すことに成功した人もいます。

私がここにいるのは次のとおりです。

../../やのようなユーザー名を作成するのを止め../logoutて、 のような Unicode 文字を使用できるようにするにはどうすればよい☃☃☃☃☃☃ですか? また、_アンダースコアは問題ありません。

ユーザー名の最大長は 15 文字であるため、パフォーマンスは大きな要因ではありませんが、危険な文字を削除する最速の方法を見つけたいと考えています。

4

2 に答える 2

0

文字を検証する最も速い方法は、許可されているすべての文字のホワイト リストを作成することです。

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

これが面倒だと思われる場合は、OWASP ESAPI などのライブラリを使用してください。

于 2012-10-06T18:28:42.720 に答える
0

このようなものはどうですか:

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

私はちょっと確信が持てません...

于 2012-10-06T17:38:23.897 に答える