Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Оформления текста. Тогда последнее, что остается сделать, - фильтровать часть кодов, оставляя лишь самые



<безопасные>. Это наиболее трудоемкий и потенциально опасный путь:

@BADTAG = ("applet", "script",

"iframe",

йит. д., все "опасные" тэги "img"); foreach

$t(@BADTAG)

{

$string =~ s/<$t/<none/gi; $string =' s/</$t/</none/gi: }

Такой подход чреват некоторыми опасностями. Например, известный скрипт formmail Мэтта Райта в

последнее время фильтрует SSI следующим образом: value =~s/<!--(. l\n)*-->//g;

Это несомненный прогресс по сравнению с первыми версиями, просто пропускавшими SSI. Однако проблема

в том, что Apache, по крайней мере, не требует присутствия закрывающих символов <-->> для выполнения

указанной директивы, поэтому злоумышленник может добиться своего, просто введя строку <! --ftinclude

virtual="some. html".

Казалось бы, можно справиться с проблемой, <выкусывая> <!- (value =~ s/<! --//g,), но и в этом случае

остается обходной маневр: строка <!--!--^include virtual="some.html" в итоге преобразуется в <i--#include virtual^

"some. html".

. Достаточно безопасной можно считать конструкцию while(s/<!--//g){}, хотя и у нее есть свои минусы. Похожие

Проблемы возникают на серверах,

Использующих ASP, РНР и т. д., причем большинство свободно распространяемых скриптов их просто

Игнорирует. Будьте крайне осторожны, адаптируя готовый скрипт к своему серверу, если он (сервер) умеет чуть





Дата публикования: 2014-11-04; Прочитано: 321 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...