Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.08.2012, 01:08
Аспирант
Отправить личное сообщение для svs_js Посмотреть профиль Найти все сообщения от svs_js
 
Регистрация: 06.05.2012
Сообщений: 31

Экранирование Input
Всем привет,

такая проблема
есть у меня Инпут
<input type="text" value="<script>alert(1)</script>" />

При некоторых условиях выполнится скрипт внутри Value
Пробовал заменять спецсимволы. Но они в инпуте так же и выводятся в некрасивом виде. Как можно вот обезопасить форму от такого воздействия.
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2012, 01:10
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<input type="text" value="&lt;script&gt;alert(1)&lt;/script&gt;" />
Ответить с цитированием
  #3 (permalink)  
Старый 07.08.2012, 01:11
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

< и > экранруются как &lt; и &gt;
Ответить с цитированием
  #4 (permalink)  
Старый 07.08.2012, 01:13
Аспирант
Отправить личное сообщение для svs_js Посмотреть профиль Найти все сообщения от svs_js
 
Регистрация: 06.05.2012
Сообщений: 31

да, я так и делал
но тогда ж и выводится внутрь инпута lt и gt )))) что не очень красиво
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2012, 01:17
Аспирант
Отправить личное сообщение для svs_js Посмотреть профиль Найти все сообщения от svs_js
 
Регистрация: 06.05.2012
Сообщений: 31

я при срабатывании аккордеона делал что-то похожее на это

$(this).value = $(this).value.replace('<', '&lt;').replace('>', '&gt;');
Ответить с цитированием
  #6 (permalink)  
Старый 07.08.2012, 01:19
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

svs_js,
а нафига такая конструкция ? - раз вы считываете - теги можно добавить и после считывания (или вообще запустить функцией
Ответить с цитированием
  #7 (permalink)  
Старый 07.08.2012, 01:22
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Если вы записываете свойство value через DOM, то никакие символы не нужно экранировать - текст выводится такой же, как и в строке значения свойства value (без замен &lt; на < и т.д.)
Ответить с цитированием
  #8 (permalink)  
Старый 07.08.2012, 01:23
Аспирант
Отправить личное сообщение для svs_js Посмотреть профиль Найти все сообщения от svs_js
 
Регистрация: 06.05.2012
Сообщений: 31

Теги <script> ? а их пользователь может ввести в инпут и сохранить на сервер, а потом снова вывести в эту форму.. в иторе VALUE будет иметь такой вид
Отправлять на сервер, заменяя специсимволы, у меня нет возможности нет события, к какому привязаться.

А вот при срабатывании аккордеона можно
Ответить с цитированием
  #9 (permalink)  
Старый 07.08.2012, 01:26
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

svs_js,
Чот невнятно как то задача...

Что - зачем откуда и зачем вообще конструкция нужна
Ответить с цитированием
  #10 (permalink)  
Старый 07.08.2012, 01:29
Аспирант
Отправить личное сообщение для svs_js Посмотреть профиль Найти все сообщения от svs_js
 
Регистрация: 06.05.2012
Сообщений: 31

Есть форма в форме инпут.
заполняем форму и в один из инпутов пишем <script>alert(1)</script>
вот прям тег и пишем
вместо алерта может быть совсем другой код ЖС

и вот смысл в том, что когда мы выводим значение инпута, код ЖС, какой записан в качестве значения поля, выполняется

и нам нужно обезопасить себя от таких умных пользователей
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Opera не выполняет style.fontSize=... в поле input Маэстро Opera, Safari и др. 6 20.06.2011 12:03
Динамическая форма! INPUT c зависимым INPUT shleify Общие вопросы Javascript 5 02.12.2010 22:18
Копирование из одного input в другой input bar-boss Общие вопросы Javascript 7 08.04.2008 19:10
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55