Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 23.10.2011, 11:31
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от sommer
А вот если сохранить сообщение с внедренным скриптом в базе и потом его отобразить с помощью innerHTML, то они вполне работают.
ну дак регулярками на серверной стороне удали теги <script></script> и перестанет работать.
или средствами того серверного языка на каком работаешь
Ответить с цитированием
  #12 (permalink)  
Старый 23.10.2011, 11:48
Новичок на форуме
Отправить личное сообщение для sommer Посмотреть профиль Найти все сообщения от sommer
 
Регистрация: 28.07.2010
Сообщений: 9

На серверную сторону валидация ASP.Net сама не пропустит любые тэги, ну а если все-таки каким-то чудом в базу сохранился код, то после обработки HtmlEncode любой код становится просто текстом...

Вопрос если в форме ввести текст с кодом и его же отобразить с помощью innerHTML - что такое страшное туда можно ввести? Желательно пример.
Ответить с цитированием
  #13 (permalink)  
Старый 23.10.2011, 11:52
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от sommer
Вопрос если в форме ввести текст с кодом и его же отобразить с помощью innerHTML - что такое страшное туда можно ввести? Желательно пример.
код без тегов <script> в тексте ,это не код а просто текст.какая может быть опасность от просто текста?
Ответить с цитированием
  #14 (permalink)  
Старый 23.10.2011, 13:19
Новичок на форуме
Отправить личное сообщение для sommer Посмотреть профиль Найти все сообщения от sommer
 
Регистрация: 28.07.2010
Сообщений: 9

Но ведь если я введу такой текст, то это явно может быть опасно ( хотя запуск сообщения и не происходит )

<script type="text/javascript" language="javascript">
alert('попытка');
</script>
Ответить с цитированием
  #15 (permalink)  
Старый 23.10.2011, 13:24
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от sommer
Но ведь если я введу такой текст, то это явно может быть опасно ( хотя запуск сообщения и не происходит )
чем? если теги <script> из него удалятся на сервере.
но исходя из вопроса,прочтите основы js , а именно первую страницу любого учебника по скрипту,где объясняется где js а где просто текст
Ответить с цитированием
  #16 (permalink)  
Старый 23.10.2011, 14:17
Новичок на форуме
Отправить личное сообщение для sommer Посмотреть профиль Найти все сообщения от sommer
 
Регистрация: 28.07.2010
Сообщений: 9

Нет! Теги <script> удалятся только после публикации.
А при предпросмотре они не удаляются....
Предложение прочитать первую страничку учебника несерьезно.
Я на JavaScript достаточно написал кода... ( хотя я и не эксперт )
Ответить с цитированием
  #17 (permalink)  
Старый 23.10.2011, 14:18
Новичок на форуме
Отправить личное сообщение для sommer Посмотреть профиль Найти все сообщения от sommer
 
Регистрация: 28.07.2010
Сообщений: 9

PS:
Нашел вот такую функцию для энкодинга:

function encodeHTML(s) {
return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/"/g, '&quot;');
}

somediv.innerHTML= '<p>Hello, '+encodeHTML(name)+'</p>';
Ответить с цитированием
  #18 (permalink)  
Старый 23.10.2011, 18:09
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от sommer
Вопрос если в форме ввести текст с кодом и его же отобразить с помощью innerHTML - что такое страшное туда можно ввести? Желательно пример.
Я уже ответил:
Сообщение от B@rmaley.e><e
Отображать вводимый пользователем HTML вполне безопасно. Другое дело, когда злоумышленник имеет возможность сохранить HTML код (в теле сообщения, скажем) так, что его увидят другие пользователи, либо указать такой запрос, что код будет выполнен у другого пользователя автоматически (или по некоторому действию).


Сообщение от dmitriymar
увести данные сможет любой кто введёт скрипт код в сообщение.
Угу, только ввести этот код сможет только текущий юзер.

Сообщение от dmitriymar
учитывая что он смйлики и т.д хочет -эт чтото на манер форума-так что базы неизбежны по идее
Какая связь между смайликами и базой? Смайлики организуются простой заменой ключевых слов.
Ответить с цитированием
  #19 (permalink)  
Старый 23.10.2011, 18:27
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от B@rmaley.e><e
Угу, только ввести этот код сможет только текущий юзер.
Сообщение от B@rmaley.e><e
Какая связь между смайликами и базой? Смайлики организуются простой заменой ключевых слов.
да почему?-он ведь практически явно пишет что у него за проект. и это предполагает в 99% базу. и соответственно код с инъекцией получат все, при просмотре страницы сайта.
Ответить с цитированием
  #20 (permalink)  
Старый 23.10.2011, 18:32
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от dmitriymar
да почему?-он ведь практически явно пишет что у него за проект. и это предполагает в 99% базу. и соответственно код с инъекцией получат все, при просмотре страницы сайта.
В сообщениях ТС написано обратное:
Сообщение от sommer
Теги <script> удалятся только после публикации.
Таким образом, вредоносный код получит только текущий юзер.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На подобие innerHTML qwermjk Общие вопросы Javascript 6 02.11.2010 03:10
Помогите плз innerHTML chelsea Общие вопросы Javascript 5 20.09.2010 15:33
InnerHTML почему-то работает не так, как хотелось бы. помогите Dima00782 Общие вопросы Javascript 2 13.06.2010 21:17
innerHTML and z-index ViZ0R Общие вопросы Javascript 5 12.08.2009 10:28
ошибка с innerHTML Gekt0r Общие вопросы Javascript 15 21.08.2008 11:57