Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Безопасность визуального редактора
 
 автор: Desh   (08.08.2009 в 17:58)   письмо автору
 
 

Здравствуйте,

На данный момент пишу свой визуальный редактор. Во время разработки возник вопрос по поводу того, как он может повлиять на безопасность работы сайта. Для начала опишу кратко структуру работы редактора:

Имеется два окна для редакторивания: визуальный редактор и HTML-редактор. Взаимодействие между окнами происходит тогда, когда пользователь между ними переключается:

1. Пользователь переходит из визуального окна в HTML, в этот момент окну HTML передаётся содержимое визуального окна, а для того, чтобы можно было видеть сам код, все символы (к примеру < и >) заменяются на свои HTML-коды (к примеру, &gt; и &lt;). Здесь вроде всё нормально и безопасно.

2. Пользователь переходит из окна HTML и визуальное окно. В этот момент визуальному окну передаётся содержимое HTML окна, а символы &gt; и &lt; заменяются на < и >, чтобы в визуальном окне всё отображалось как необходимо. Проблема возникает в следующем: какую угрозу может принести ситуация, когда пользователь в HTML-окне прописывает скрипты <script></script> и т.д.? Понятно, что их можно просто заменить на что-то безопасное отдельно, но в таком случае есть ещё возможность написать код, к примеру, так:
<span onclick="alert('');">text</span>

Может ли это принести безопасность работоспособности сайта или пользователям (кроме, разумеется самого компьютера злоумышленника, который эти коды будет писать)? Если да, то как это всё можно избежать?
Все данные, передаваемые из окна редактора на сервер, естественно, проверяются средствами PHP.

И вообще, каковы особенности безопасности визуальных редакторов? (статей в интернете на эту тематику, увы, не нашёл, хотя искал, видно плохо искал;) )

  Ответить  
 
 автор: Саня   (08.08.2009 в 18:25)   письмо автору
 
   для: Desh   (08.08.2009 в 17:58)
 

Просто при выводе делайте htmlspecialchars() и всё.

  Ответить  
 
 автор: Desh   (08.08.2009 в 19:10)   письмо автору
 
   для: Саня   (08.08.2009 в 18:25)
 

Разве htmlspecialchars() есть в javascript?
К тому же выводить в визуальное окно надо как раз-таки нормальные < >, а не их кодовые эквиваленты, т.к. иначе форматирвание не будет отображаться...

  Ответить  
 
 автор: PAT   (08.08.2009 в 19:31)   письмо автору
 
   для: Desh   (08.08.2009 в 19:10)
 

Дуете на воду...

  Ответить  
 
 автор: Desh   (08.08.2009 в 19:59)   письмо автору
 
   для: PAT   (08.08.2009 в 19:31)
 

Хотите сказать, что ни к чему опасному эти махинации пользователя (написание в редакторе скриптов) не приведут?

  Ответить  
 
 автор: AlexSol   (08.08.2009 в 21:11)   письмо автору
 
   для: Desh   (08.08.2009 в 19:59)
 

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

  Ответить  
 
 автор: Desh   (08.08.2009 в 21:14)   письмо автору
 
   для: AlexSol   (08.08.2009 в 21:11)
 

А ведь это верно)
Большое спасибо, одной проблемой стало меньше)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования