2011-01-30 9 views
1

Каков наилучший способ дезинформировать содержимое сообщений на стороне сервера, которое получено от клиента как один из параметров строки запроса? Это сообщение также предназначено для повторной отправки другим подключенным клиентам, чтобы оно было безопасным с точки зрения выполнения кода или инъекции (JavaScript или HTML) на сервере или на стороне клиента.Защита данных на стороне сервера

+2

Какова ваша серверная технология? Javascript - это чисто клиентская сторона, поэтому санификация на стороне сервера выполняется на любом языке программирования, который вы используете на сервере. Например, серверные языки будут PHP, Java и т. Д. – christophmccann

+0

Он использует node.js. http://nodejs.org/ К сожалению, у меня недостаточно знаний, чтобы ответить на его вопрос с помощью этой серверной технологии. –

+1

См. Теги - it's node.js – yojimbo87

ответ

2

Для защиты Node.js против XSS я позаимствовал это из сниппета jade:

/** 
* Escape the given string of `html`. 
* 
* @param {String} html 
* @return {String} 
* @api private 
*/ 

function sanitize(html){ 
    return String(html) 
     .replace(/&(?!\w+;)/g, '&') 
     .replace(/</g, '&lt;') 
     .replace(/>/g, '&gt;') 
     .replace(/"/g, '&quot;'); 
} 

PS: Вы должны всегда делать правильную фильтрацию на стороне сервера

2

Вы можете использовать node-validator, это выглядит более комплексное решение для фрагмента aboce.

Смежные вопросы