|
23.10.2011, 11:31
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от sommer
|
А вот если сохранить сообщение с внедренным скриптом в базе и потом его отобразить с помощью innerHTML, то они вполне работают.
|
ну дак регулярками на серверной стороне удали теги <script></script> и перестанет работать.
или средствами того серверного языка на каком работаешь
|
|
23.10.2011, 11:48
|
Новичок на форуме
|
|
Регистрация: 28.07.2010
Сообщений: 9
|
|
На серверную сторону валидация ASP.Net сама не пропустит любые тэги, ну а если все-таки каким-то чудом в базу сохранился код, то после обработки HtmlEncode любой код становится просто текстом...
Вопрос если в форме ввести текст с кодом и его же отобразить с помощью innerHTML - что такое страшное туда можно ввести? Желательно пример.
|
|
23.10.2011, 11:52
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от sommer
|
Вопрос если в форме ввести текст с кодом и его же отобразить с помощью innerHTML - что такое страшное туда можно ввести? Желательно пример.
|
код без тегов <script> в тексте ,это не код а просто текст.какая может быть опасность от просто текста?
|
|
23.10.2011, 13:19
|
Новичок на форуме
|
|
Регистрация: 28.07.2010
Сообщений: 9
|
|
Но ведь если я введу такой текст, то это явно может быть опасно ( хотя запуск сообщения и не происходит )
<script type="text/javascript" language="javascript">
alert('попытка');
</script>
|
|
23.10.2011, 13:24
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от sommer
|
Но ведь если я введу такой текст, то это явно может быть опасно ( хотя запуск сообщения и не происходит )
|
чем? если теги <script> из него удалятся на сервере.
но исходя из вопроса,прочтите основы js , а именно первую страницу любого учебника по скрипту,где объясняется где js а где просто текст
|
|
23.10.2011, 14:17
|
Новичок на форуме
|
|
Регистрация: 28.07.2010
Сообщений: 9
|
|
Нет! Теги <script> удалятся только после публикации.
А при предпросмотре они не удаляются....
Предложение прочитать первую страничку учебника несерьезно.
Я на JavaScript достаточно написал кода... ( хотя я и не эксперт )
|
|
23.10.2011, 14:18
|
Новичок на форуме
|
|
Регистрация: 28.07.2010
Сообщений: 9
|
|
PS:
Нашел вот такую функцию для энкодинга:
function encodeHTML(s) {
return s.replace(/&/g, '&').replace(/</g, '<').replace(/"/g, '"');
}
somediv.innerHTML= '<p>Hello, '+encodeHTML(name)+'</p>';
|
|
23.10.2011, 18:09
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от sommer
|
Вопрос если в форме ввести текст с кодом и его же отобразить с помощью innerHTML - что такое страшное туда можно ввести? Желательно пример.
|
Я уже ответил:
Сообщение от B@rmaley.e><e
|
Отображать вводимый пользователем HTML вполне безопасно. Другое дело, когда злоумышленник имеет возможность сохранить HTML код (в теле сообщения, скажем) так, что его увидят другие пользователи, либо указать такой запрос, что код будет выполнен у другого пользователя автоматически (или по некоторому действию).
|
Сообщение от dmitriymar
|
увести данные сможет любой кто введёт скрипт код в сообщение.
|
Угу, только ввести этот код сможет только текущий юзер.
Сообщение от dmitriymar
|
учитывая что он смйлики и т.д хочет -эт чтото на манер форума-так что базы неизбежны по идее
|
Какая связь между смайликами и базой? Смайлики организуются простой заменой ключевых слов.
|
|
23.10.2011, 18:27
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от B@rmaley.e><e
|
Угу, только ввести этот код сможет только текущий юзер.
|
Сообщение от B@rmaley.e><e
|
Какая связь между смайликами и базой? Смайлики организуются простой заменой ключевых слов.
|
да почему?-он ведь практически явно пишет что у него за проект. и это предполагает в 99% базу. и соответственно код с инъекцией получат все, при просмотре страницы сайта.
|
|
23.10.2011, 18:32
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от dmitriymar
|
да почему?-он ведь практически явно пишет что у него за проект. и это предполагает в 99% базу. и соответственно код с инъекцией получат все, при просмотре страницы сайта.
|
В сообщениях ТС написано обратное:
Сообщение от sommer
|
Теги <script> удалятся только после публикации.
|
Таким образом, вредоносный код получит только текущий юзер.
|
|
|
|