![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Sannis, спасибо за ссылку!
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
значит, при загрузке картинку придется обработать(приводимый в статье по ссылке Sannis говорится о растяжении/сжатии, но я бы предложил просто открыть и сохранить со сменой формата). и проблем не будет. по крайней мере с IE. так?
|
|||
|
||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
Странно, а почему выполняется такое условие?
загружаю *.jpg пишет что "неизвестное расширение файла", выводил echo $bnfiletype; все правильно - пишется "jpg".. непонятно.. Это сообщение отредактировал(а) Dmitry_177 - 2.2.2008, 18:44 |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Dmitry_177, ничего странного. Условие ИЛИ выполняется, когда хотя бы один из вариантов истинен, а "jpg" действительно не равно "png"
Вообще я бы рекомендовал делать проверку через !in_array(<массив допустимых расширений>) - и короче, и нагляднее. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
по идее $bnfiletype != "jpg" не должно же выполняться, т.к. равно этому.. отсюда все условие по идее должно было бы НЕ выполниться..
Посмотрю как через массив сделать, может переделаю.. Это сообщение отредактировал(а) Dmitry_177 - 2.2.2008, 19:03 |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Dmitry_177, до него просто не доходит, потому что условие ИЛИ, а if в PHP "короткозамкнутый" - обнаружив первое сработавшее условие, дальше просто не проверяет. В данном случае первым сработавшим, и, тем самым, последним проверенным условием оказывается $bnfiletype != "png". Но дело не в этом, а в неправильной логике - по смыслу тут нужно условие И.
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Dmitry_177 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
в качестве саморазвития
чтобы мое условие заработало, так правильно будет?
через массив, вот так?
|
||||
|
|||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
и еще ИМХО, лучше перевести $bnfiletype в нижний регистр..
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
по поводу функции strtolower, в книге пишут что нужно локали настраивать, иначе с крилицей будет неправильно работать.. Но т.к. в расширении файлов нету крилицы, я думаю ничего настраивать ненадо..
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Для данного случая справедливо. Но вообще желательно работать на правильной локали. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Цитата из ссылки Sannis
Получается, если я создам 1.jpg с текстом <script>alert('a');</script> и открою его в ИЕ, то выскочит алерт? Что-то он не выскакивает. К тому же никто не обратил внимания на комментарий к статье, в котором говорится, что примеры XSS через картинку повторить не удалось. То ли эта уязвимость была закрыта (пробовал в ИЕ6) и не так уж важна, толи это вообще утка какая-то. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
в статье приводятся "внешние ссылки". так вот, одна из них намного информативнее указанной статьи на securitylab.
|
|||
|
||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: 6 Всего: 13 |
Насколько я понял, в этой статье описаны разные XSS через HTML-код страницы. Я же выше говорил о том, что содержимое самого файла изображения может трактоваться IE как код А о методах XSS и защиты от него, я надеюсь, разработчики знают... -------------------- |
|||
|
||||
| flashaa |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Посмотрел ссылку. Но к моему вопросу она не имеет отношения. Мой вопрос был таков: если файл картинки .jpg содержит html-код, который выполняется в браузере при открытии этой картинки, то можно привести пример или объяснить такой случай? В cтатье securitylab говорилось именно про картинки. Про различные вариации html-кода со скриптами я вопросов не имею. Так вот сама идея интерпретации картинки .jpg как скрипта - маразматична. Поэтому я усомнился в этом и пытаюсь уточнить, правда ли это. Допустим у меня есть файл image.jpg. Я пишу в него <script>alert('aa');</script> и открываю в браузере ИЕ6. Почему то у меня отображается красный крестик, но нет никакого скрипта? Ведь
Это сообщение отредактировал(а) flashaa - 29.2.2008, 12:52 |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |