Последние комментарии

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


Михаил Фленов

Сокращение и увольнение - разные вещи. Сокращать можно, тогда это массовое событие. Увольнять нельзя, нужно сначала доказать, что это не личное, не связано со цветом кожи, сексуальной ориентацией и т.д.


IDDQD

> Не знаю, как в России, а в Канаде в крупных компаниях очень сложно уволить сотрудника.

Excuse me?) Весь 2023 доказывает обратное


ва

ваы


Алексей Иванков

Зря вы так, Сергей. Между "загнулся" (мертв) и не популярный - две большие разницы. Современный Delphi фактически тот же C#, но в чем то даже лучше. Попробуйте сами.


Михаил Фленов

Нет


CrackCoder

Миш ты на go писал/пишешь?


Михаил Фленов

Даже imagecreatefromgif не даёт тебе полную гарантию, что файл корректный. Я для бусти записал уже видео и в пятницу или субботу оно будет опубликовано. Ты в другом комментарии ссылаешься на статью ch4inrulz, где основной причиной для взлома был всё же LFI. О нём я также уже говорил на бусти. Защищай от LFI, не давай TXT фалам выполнение на сервере и проблем не будет.


toorr2p

А как быть в принципе, если это не картинка, а например мы даем юзерам загружать к примеру тот же .txt, а в нем будет <php ... получается выход только использование директив Apache? Т.е на уровне PHP нет инструмента определить соответствие содержимого файла его типу (расширению) ?


Михаил Фленов

Похоже вместо getimagesize нужно пробовать создавать картинку методами imagecreatefromgif или imagecreatefromjpeg. Нужно будет обновить книгу.  

    $gifimage = imagecreatefromgif($_FILES['file1']['tmp_name']);
    if ($gifimage) {
        if($_FILES['file1']['size']) {
            move_uploaded_file($_FILES['file1']['tmp_name'], './filename.gif');
        }
    }


Михаил Фленов

Если есть защита от второго, то защита от первого не нужна. Для защиты от второго раньше использовали getimagesize. Сейчас я полез в документацию и там к сожалению написано:

Caution
This function expects filename to be a valid image file. If a non-image file is supplied, it may be incorrectly detected as an image and the function will return successfully, but the array may contain nonsensical values.

Сейчас написал тестовый пример и действительно, для некорректного файлы в PHP8 возвращаются мусорные данные, которые не работают. Неожиданно. На сколько я помню в 5-м PHP проверка работала. Сейчас поиграю с функцией.


О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне