Предположим тебе надо фильтровать наличие тега <script> в теле документа.
есть часть документа (в средине твоей страницы), который может вставить юзер. предположим ты хочешь филтровать все теги "скрипт"
--------
text1
<script smth>
<script SMTH> smth </script>
text2
--------
Используем, например, следующие regexp
$data =~ s/<script()>(.*)<\/script(.>//gi;
$data =~ s/<script(.*)>//gi;
(где $data - содержимое документа)
результат - из теста документа получаем что-то типа
--------
text1
text2
--------
На счет <noscript>
Опять, предположим есть документ
<-------->
<noscript>
--------
text1
USER DATA
text2
--------
</noscript>
<-------->
можно предположить, что тег noscript запретит выполнение js/vbs в разделе user data. однако - если юзер в начале uesr data закроет этот же noscript - он сможет без проблем открыть <script> после него. таким образом - логичней применять regexp и не морочить голову. хотя - далеко не факт что это панацея. далеко не факт.
> можно ли внутри <head></head> > запретить выполнение <scripy></script> > в <body></body>
Если тебе надо запретить выполнение скрипта в нутри body:
<html>
<head>
<noscript> <!-- This tag disable script executing -->
</head>
<body>
<script>
alert('Scripty executed succerfull =)');
</script>
</body>
</html>
---
Но если внутренность body формируется пользователем, то он может вписать тэг "</noscript>" и после него смело использовать скрипты. Хотя нисто не отменял фильтры/регулярные выражения =)
(надеюсь меня не оштрафуют за помочь человеку)
DigitalScream resident 'SecurityLevel5'
юзер может закрыть открытый noscript. но, безусловно, regexp - [иногда] это выход31.07.03 23:22 Автор: Eugene Статус: Незарегистрированный пользователь
Предположим тебе надо фильтровать наличие тега <script> в теле документа.
есть часть документа (в средине твоей страницы), который может вставить юзер. предположим ты хочешь филтровать все теги "скрипт"
--------
text1
<script smth>
<script SMTH> smth </script>
text2
--------
Используем, например, следующие regexp
$data =~ s/<script()>(.*)<\/script(.>//gi;
$data =~ s/<script(.*)>//gi;
(где $data - содержимое документа)
результат - из теста документа получаем что-то типа
--------
text1
text2
--------
На счет <noscript>
Опять, предположим есть документ
<-------->
<noscript>
--------
text1
USER DATA
text2
--------
</noscript>
<-------->
можно предположить, что тег noscript запретит выполнение js/vbs в разделе user data. однако - если юзер в начале uesr data закроет этот же noscript - он сможет без проблем открыть <script> после него. таким образом - логичней применять regexp и не морочить голову. хотя - далеко не факт что это панацея. далеко не факт.
там дело в том, что этотгостевуха, админами которой мы не являемся
и хочется разрешить хтмл, но избежзать жаба скриптовых приколов от идиотов типа шкипера
сенкс, попробую заюзать04.08.03 12:26 Автор: Night Angel Статус: Незарегистрированный пользователь
> там дело в том, что этотгостевуха, админами которой мы не > являемся > и хочется разрешить хтмл, но избежзать жаба скриптовых > приколов от идиотов типа шкипера Если это на ПХП пишется, то есть такая функция, которой 1 парам - строка, 2 - разрешённые тэги, остальные она по-моему вырезает. striphtml вроде
Будь осторожен01.08.03 09:26 Автор: DgtlScrm Статус: Member
Будь осторожен. Враги не дремлют =)
Есть сотни способов исполнить JavaScript и я не уверен, что на все из них подействует этот метод. Тем более не стоит забывать о фильтрации IFRAME и тому подобных тэгов.
DigitalScream resident 'SecurityLevel5'
а цель ?05.07.03 12:07 [hex.sex, Sandy, tdes, Shturmfogell, J'JF, DamNet, whiletrue, iokana, fly4life] Автор: tdes <jin> Статус: Member
интересно, за что штрафы, мне было интересно узнать какова цель, возможно это можно сделать другими спосбами ? без блокировки скриптов05.07.03 21:22 Автор: tdes <jin> Статус: Member