В Mobile Textarea применяется XSS Filter

У меня есть простая HTML-форма для мобильных устройств, и в TextArea пользователь может вводить любые данные.

Мне нужно создать функцию, которая может применять XSS-фильтр, не передавая какие-либо HTML или недействительные данные XSS на сервер.

В настоящее время я использую XSS Escape, рекомендованный Owasp, например:

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, '&amp;')
            .replace(/\</g, '&lt;')
            .replace(/\>/g, '&gt;')
            .replace(/\"/g, '&quot;')
            .replace(/\'/g, '&#x27;')
            .replace(/\//g, '&#x2F;');
 use data...

какие-либо предложения или улучшения?

1 ответ

Вы проверяете данные, используя javascript, который в основном проверяет данные на стороне клиента, и есть некоторые случаи, когда пользователь блокирует javascript, тогда пользователь может легко обойти это, поэтому лучшим вариантом для этого вида проверки является также использование проверки на стороне сервера.

Другие вопросы по тегам