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

Разное

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

 

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

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

тема: А давайте еще поковыряем форум?
 
 автор: Loki   (04.09.2006 в 13:51)   письмо автору
 
 

//--><script >alert(document.cookie);</script>

   
 
 автор: Loki   (04.09.2006 в 13:56)   письмо автору
 
   для: Loki   (04.09.2006 в 13:51)
 

оперативно:)
рассказывайте что теперь прикрутили?:)

   
 
 автор: cheops   (04.09.2006 в 13:58)   письмо автору
 
   для: Loki   (04.09.2006 в 13:56)
 

Заменил проверку script на
<?php
    $str 
preg_replace("|<[\s]*script[\s]*>|i","",$str);
    
$str preg_replace("|<[\s]*/script[\s]*>|i","",$str);
?>

   
 
 автор: Loki   (04.09.2006 в 14:00)   письмо автору
 
   для: cheops   (04.09.2006 в 13:58)
 

//--><script language=javascript>alert(document.cookie);</script language=javascript>
Ваш путь порочен изначально!:)

   
 
 автор: cheops   (04.09.2006 в 14:30)   письмо автору
 
   для: Loki   (04.09.2006 в 14:00)
 

Не совсем, не следует не дооценивать реугулярные выражения :)))

   
 
 автор: Loki   (04.09.2006 в 14:47)   письмо автору
 
   для: cheops   (04.09.2006 в 14:30)
 

Я не о регулярных выражениях, а в принципе о попытке заткнуть все дырки... мне кажется что тут надо решать задачу как-то иначе.

   
 
 автор: cheops   (04.09.2006 в 14:52)   письмо автору
 
   для: Loki   (04.09.2006 в 14:47)
 

Полностью согласен. Решение народная мудрость сформировала в виде поговорки "Не ошибается только тот, кто ничего не делает".

   
 
 автор: Loki   (04.09.2006 в 16:33)   письмо автору
 
   для: cheops   (04.09.2006 в 14:52)
 

Ладно... намек мой вы проигнорировали, поэтому придется назвать слово целиком:

<script>
function show_text()
{
document.form.text.value='Превед --\>\</script\>';
}
</script>

<form name=form>
<textarea name=text></textarea>
</form>
<a href="#" OnClick="show_text();">сюда</a>

Приз в студию и все такое...

Рекламная пауза.

   
 
 автор: cheops   (04.09.2006 в 16:58)   письмо автору
 
   для: Loki   (04.09.2006 в 16:33)
 

Хм... чё-то не работает эксплоит....

   
 
 автор: Loki   (04.09.2006 в 16:59)   письмо автору
 
   для: cheops   (04.09.2006 в 16:58)
 

Так это не эксплоит, а защита от него:)
Если спецсимволы экранировать, то они нормально подставляются в форму, но не позволяют коду выйти за пределы строки.

   
 
 автор: cheops   (04.09.2006 в 22:06)   письмо автору
 
   для: Loki   (04.09.2006 в 16:59)
 

Надо будет поковыряться в эту сторону, к сожалению коды \60\62 в addcslashes() чего-то не рабатывают, только тупая замена через str_replace(), хотя тоже не плохо - нужно будет применить...

   
 
 автор: Loki   (04.09.2006 в 23:53)   письмо автору
 
   для: cheops   (04.09.2006 в 22:06)
 

По моим понятиям, достаточно экранировать символы: <>'
В этом случае я не придумал как обойти защиту.

   
 
 автор: Trianon   (05.09.2006 в 11:31)   письмо автору
 
   для: cheops   (04.09.2006 в 22:06)
 

-

   
 
 автор: Trianon   (05.09.2006 в 11:40)   письмо автору
 
   для: cheops   (04.09.2006 в 22:06)
 

А почему \60\62, а не \74\76 ?

   
 
 автор: cheops   (05.09.2006 в 11:49)   письмо автору
 
   для: Trianon   (05.09.2006 в 11:40)
 

Хм... \74\76 - это же вроде J и L

   
 
 автор: Trianon   (05.09.2006 в 11:50)   письмо автору
 
   для: cheops   (05.09.2006 в 11:49)
 

вообще-то там восьмеричные коды... )))
или, что мне более импонирует, 16-ричные \x3C\x3E

   
 
 автор: cheops   (05.09.2006 в 11:56)   письмо автору
 
   для: Trianon   (05.09.2006 в 11:50)
 

Мда, вполне такое возможно, иначе действительно с какого перепою до 37 экранирование идёт. Чего ж тогда мануал советует функцию ord() для определения кодов - любопытно, сейчас попробую.

   
 
 автор: Trianon   (05.09.2006 в 11:58)   письмо автору
 
   для: cheops   (05.09.2006 в 11:56)
 

мануал советует её, чтоб случайно диапазон справа налево не записать. Для этого оно вполне годится.
Я вообще себе не представляю, зачем их надо экранировать?

Почему не записать в лоб
$str = addcslashes($str, '<>');
?

   
 
 автор: cheops   (04.09.2006 в 14:57)   письмо автору
 
   для: Loki   (04.09.2006 в 14:47)
 

На стыке двух языков всегда будут такие корявки... Именно по этому на других форумах используется специальная ссылка "Ответить с цитатой" - можно вообще цитату убрать, можно обезопасить текст при помощи htmlspecialchars(), можно сделать отдельную ссылку, чтобы цитат подставлялась в textarea - только не удобно будет.

   
 
 автор: P@Sol   (04.09.2006 в 15:10)   письмо автору
 
   для: cheops   (04.09.2006 в 14:57)
 

отдельная ссылка вроде нормально - не так часто тут цитируют друг друга

   
 
 автор: cheops   (04.09.2006 в 15:19)   письмо автору
 
   для: P@Sol   (04.09.2006 в 15:10)
 

Её тогда нужно помещать там где сейчас "Ответить" и будет целая батарея ссылок - не очень красиво и эргономично: лучше когда под одно действие отводится одна ссылка, а не каждая ссылка под один из вариантов действия.

   
 
 автор: P@Sol   (04.09.2006 в 15:23)   письмо автору
 
   для: cheops   (04.09.2006 в 15:19)
 

можно галочку ставить:)

   
 
 автор: cheops   (04.09.2006 в 15:31)   письмо автору
 
   для: P@Sol   (04.09.2006 в 15:23)
 

Галочку в портрете пользователя имеете ввиду или около ссылки? Всё равно забывать будут ставить... часто к цитате обращаются уже формируя ответ, отвечая посетитель не думает о том, что ему скоро понадобится цитата (не все думают) - хотелось бы сохранить текущий механизм - когда понадобилось, тогда и ответил.

   
 
 автор: cheops   (04.09.2006 в 13:56)   письмо автору
 
   для: Loki   (04.09.2006 в 13:51)
 

Угу... а ещё можно большими буквами script писать... придётся регулярными выражениями чистить...

   
 
 автор: DEM   (04.09.2006 в 18:35)   письмо автору
 
   для: cheops   (04.09.2006 в 13:56)
 

Проверка не завершилась успехом )))

   
 
 автор: cheops   (04.09.2006 в 22:07)   письмо автору
 
   для: DEM   (04.09.2006 в 18:35)
 

Хм... в смысле?

   
 
 автор: DEM   (04.09.2006 в 22:13)   письмо автору
 
   для: cheops   (04.09.2006 в 22:07)
 

Я хотел кое что попробовать, но это не получилось :)

   
 
 автор: cheops   (04.09.2006 в 22:17)   письмо автору
 
   для: DEM   (04.09.2006 в 22:13)
 

Значит вы не слишком злы на окружающих :))) если взломы не срабатывают...

   
 
 автор: Artem S.   (04.09.2006 в 22:37)   письмо автору
 
   для: cheops   (04.09.2006 в 22:17)
 

У меня тоже ничего не вышло :)

   
 
 автор: Loki   (04.09.2006 в 23:44)   письмо автору
 
   для: cheops   (04.09.2006 в 22:17)
 

>Значит вы не слишком злы на окружающих :))) если взломы не срабатывают...
А вот лица попрошу не касацца!:)

   
Rambler's Top100
вверх

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