私はシンプルなモバイルWeb HTMLフォームを持っていて、TextArea内でユーザーは任意のデータを入力できます。モバイルTextareaでXSSフィルタを適用する
HTMLまたは無効なXSSデータをサーバーに渡さずにXSSフィルターを適用できる関数を作成する必要があります。
var data = document.getElementById(__fieldname__).innerHTML;
data = data.replace(/\<(.*?)DOCTYPE(.*?)\>/ig, '')
.replace(/\<html(.*?)\>/ig, '')
.replace(/\<\/html(.*?)\>/ig, '')
.replace(/\<script(.*?)\>/ig, '')
.replace(/\<\/script(.*?)\>/ig, '')
.replace(/\<style(.*?)\>/ig, '')
.replace(/\<\/style(.*?)\>/ig, '')
.replace(/\<body(.*?)\>/ig, '')
.replace(/\<\/body(.*?)\>/ig, '')
.replace(/\<form(.*?)\>/ig, '')
.replace(/\<\/form(.*?)\>/ig, '')
.replace(/\<iframe(.*?)\>/ig, '')
.replace(/\<\/iframe(.*?)\>/ig, '')
.replace(/\&/g, '&')
.replace(/\</g, '<')
.replace(/\>/g, '>')
.replace(/\"/g, '"')
.replace(/\'/g, ''')
.replace(/\//g, '/');
use data...
任意の提案や改善点:私は現在、OWASPを使用しています
は、XSSはHTMLのようなエスケープをお勧め?
「安全な」データを送信するクライアントにのみ依存することはできません。これは最初にサーバー側で行う必要があります。 – CBroe