powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / [JS] Обезопасить поле ввода INPUT, защита от инъекций
4 сообщений из 29, страница 2 из 2
[JS] Обезопасить поле ввода INPUT, защита от инъекций
    #38616069
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GororМне желательно сразу данные из input "обезвредить" и потом уже с ними работать и отправлять на сервер.
это не отменяет валидации на сервере
...
Рейтинг: 0 / 0
[JS] Обезопасить поле ввода INPUT, защита от инъекций
    #38616507
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилGororМне желательно сразу данные из input "обезвредить" и потом уже с ними работать и отправлять на сервер.
это не отменяет валидации на сервере
Точно. Валидация на клиенте - только для удобства ввода информации (не на ту кнопку нажал), а на сервере - это и есть валидация.
...
Рейтинг: 0 / 0
[JS] Обезопасить поле ввода INPUT, защита от инъекций
    #38616546
Goror
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилGororМне желательно сразу данные из input "обезвредить" и потом уже с ними работать и отправлять на сервер.
это не отменяет валидации на сервере

Это понятно, в целом я пока только с alert(); проблему нашел, а так в целом норм.

Да, конечно основная проверка должна быть на сервере, "клиент" может хоть свой комп спалить, это его проблемы)

Но если к примеру есть форма ввода "большой" информации, человек сидит пишет доклад) Всё ок! и вдруг где то на 100001 строчке ввёл слово "alert();", просто в качестве текста и всё, скрипт завис, писатель ругает матом всё и всех и не может понять в чём дело, я чисто об этом подумал)
...
Рейтинг: 0 / 0
[JS] Обезопасить поле ввода INPUT, защита от инъекций
    #38619711
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Goror, для безопасного удаления потенциально опасного содержимого можно использовать т.н. shadow DOM, который не является частью главного DOM и не виден пользователю. При этом обладает всеми возможностями DOM.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
function sanitizeHTML(html) {
    var doc = document.implementation.createHTMLDocument("Test");
    doc.body.innerHTML = html;
    var nodes = doc.querySelectorAll("script,style,link,object");
    for (var i=0, len=nodes.length; i < len; i++) {
        nodes[i].parentNode.removeChild(nodes[i]);
    }
    return doc.body.innerHTML;
}


Метод незакончен т.к. не удаляет атрибуты с JS кодом (onclick и т.п.), но это можно дописать. Также встречал утверждения что в некоторых браузерах делаются запросы к img из shadow DOM и советуют использовать DOMParser . Однако DOMParser имеют меньшую поддержку по сравнению с createHTMLDocument так что рещай сам что тебе больше подходит.
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / [JS] Обезопасить поле ввода INPUT, защита от инъекций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]