![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
PROme2 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 4.1.2006 Репутация: нет Всего: нет |
снова я с вопросами безопасности
![]() цель - закачка картинки, урл которой вводит юзер какие тут могут быть опасности, как фильтровать инфу? пока я что делаю: - проверяю, не длиннее ли строка 255 символов - начинается ли она с 'http://' - содержит ли 'file:' что нужно еще сделать? ![]() |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
а зачем? Нужно скачать и проверить mime-type и размер. Размер проще проверять fopen'ом. Скачать 20, к примеру, кил и остановится. Если файл недокачался и/или некорректен - минус в репу юзеру
![]() Строка GET'а может быть существенно больше... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
PROme2 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 4.1.2006 Репутация: нет Всего: нет |
это само собой просто проверять может быть уже поздно ![]() и не такое бывает... так что хочу максимально перестраховаться еще до скачки
а смысл? непонятно что-то, подробней можно? опыт показывает, что ничего хорошего за этим скрываться не будет ![]() |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Юзер может заказать скачку очень большого файла... Кино, какое-нибудь, лечись потом...
В принципе - да. ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
lorien |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 16.11.2004 Где: omsk Репутация: нет Всего: 3 |
На БД, что ли, экономите? )
Есть ещё и ftp:// и https://
Чего-чего содержит? Вот вам алгоритм: делаете HEAD запрос, смотрите размер и mime-type. Если всё ок, делаете GET запрос. Если вы параноик, то не надеетесь на данные HEAD запроса и проверяете, что размер реальных данных таки не превывышает лимит. Всё это удобно делать с помощью библиотеки curl, вернее её модуля для python. |
||||||
|
|||||||
PROme2 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 4.1.2006 Репутация: нет Всего: нет |
CURLOPT_TIMEOUT в 15 секунд и все... мне кажется так проще, я просто когда-то сталкивался с определением размера, уже точно не помню, но помню что были проблемы, не всегда размер удавалось узнать
хватит, хватит... ![]() Добавлено через 4 минуты и 53 секунды таких длинных урлов не будет, чтоб не было возможности всяких пакостей накалякать ![]() в баню их... чтобы не прописывали локальные файлы эта проверка делается не для поправок ошибок юзеров, а какраз для защиты от возможных взломов, так что на данные head полагаться точно не прийдется ![]() Добавлено через 11 минут и 3 секунды тут по соседству есть еще одна из моих тем ![]() про header('location:... впоследствие изучения вопроса всплыло много интересностей, в том числе и то, что при недостаточной обработке можно легко тырить куки юзеров и т.д. так что не хотелось бы тут что-то подобное пропустить, меня волнует именно то, что можно (ли?) сделать именно специально сформированным урлом? все остальные вопросы, что там за инфа, ее объемы и т.д. меня не волнуют, это проверяется... важно именно чтобы само выполнение функции с урлом, полученным от юзера не стало дырой Добавлено через 14 минут и 21 секунду мда, я уже молчу про sql-инъекции, вставленные в имена файлов или php-код, интегрированный прямо в файл картинки... опасность повсюду ![]() ![]() |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "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. |