2017-05-04 14 views
1

は、私は、ユーザーからの「名」を取得し、彼は<script>alert("you got xss!");</script>チェック入力とXSS

しかし、私は変換サーバ上に入るとしましょう防ぐために、適切な型に変換:DBにそれを保存する前に name= name_from_frontend.toString();を。
同様に、私は、int using parseInt()
float using parseFloat()
boolean using typeof(variable_name)などをチェックします。

<,&など、XSSを防止するためにOWASPに記載されている他の文字をエスケープする必要がありますか。

答えて

0

Enapupeは広く正しいですが、You probably need to strip evil tags such as script, etc.を言う彼の答えの一部は - 非常に明確ではありません。

正しい文は次のようになります。OWASP guidelinesを使用してXSSを削除する必要があります。文字列に変換するか、文字列に変換しないと違いはありません

0

文字列型のtoString()を呼び出すことは役に立ちません。おそらく、などscript、あなたが安全にその入力を使用することができますので、このようななどのpython(https://pypi.python.org/pypi/bleach)、PHP(strip_tags())、など

ほとんどのサーバーサイドの言語は関数ライブラリをクリーンアップ邪悪なマークアップに焦点を当てているとして悪のタグを除去する必要があります後で。

JSソリューションが必要な場合は、https://www.npmjs.com/package/sanitize-htmlをチェックする必要があります。これはジョブを実行しますが、ノードで使用することを目的としています。例:

clean = sanitizeHtml(dirty, { 
    allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], 
    allowedAttributes: { 
    'a': [ 'href' ] 
    } 
}); 
+0

'' evil XSS! '); "' xssをhtml(その文字列)で生成することができますか? – vjjj

+0

すべては、あなたがそのデータを使って何をしようとしているかによって決まります。始めに、サーバサイドの言語を使ってユーザが挿入したhtmlを 'print'する一般的な習慣がありました。 – enapupe

+0

私はクライアントサイドのテンプレートeval()または補間を行います。私は口ひげを使う - > {{と{{= – vjjj

関連する問題