Экранирование Input
Всем привет,
такая проблема :) есть у меня Инпут <input type="text" value="<script>alert(1)</script>" /> При некоторых условиях выполнится скрипт внутри Value Пробовал заменять спецсимволы. Но они в инпуте так же и выводятся в некрасивом виде. Как можно вот обезопасить форму от такого воздействия. |
<input type="text" value="<script>alert(1)</script>" /> |
< и > экранруются как < и >
|
да, я так и делал :)
но тогда ж и выводится внутрь инпута lt и gt )))) что не очень красиво |
я при срабатывании аккордеона делал что-то похожее на это
$(this).value = $(this).value.replace('<', '<').replace('>', '>'); |
svs_js,
а нафига такая конструкция ? - раз вы считываете - теги можно добавить и после считывания (или вообще запустить функцией |
Если вы записываете свойство value через DOM, то никакие символы не нужно экранировать - текст выводится такой же, как и в строке значения свойства value (без замен < на < и т.д.)
|
Теги <script> ? а их пользователь может ввести в инпут и сохранить на сервер, а потом снова вывести в эту форму.. в иторе VALUE будет иметь такой вид :)
Отправлять на сервер, заменяя специсимволы, у меня нет возможности :) нет события, к какому привязаться. А вот при срабатывании аккордеона можно :) |
svs_js,
Чот невнятно как то задача... Что - зачем откуда и зачем вообще конструкция нужна |
Есть форма :) в форме инпут.
заполняем форму и в один из инпутов пишем <script>alert(1)</script> вот прям тег и пишем :) вместо алерта может быть совсем другой код ЖС и вот смысл в том, что когда мы выводим значение инпута, код ЖС, какой записан в качестве значения поля, выполняется :) и нам нужно обезопасить себя от таких умных пользователей :) |
Часовой пояс GMT +3, время: 00:28. |