Перейти к публикации

Не заливают файлы на сервер с наличием php в названии


Рекомендованные сообщения

Хочу залить файл на сервер с название manuals_php.pdf или phpmyadmin.jpg, вылетает ошибка Hacking attempt!

Нашел фильтр на имена:


if( stripos ( $image_name, "php" ) !== false ) die("Hacking attempt!");

if( stripos ( $image_name, "phtml" ) !== false ) die("Hacking attempt!");

if( stripos ( $imageurl, "php" ) !== false ) die("Hacking attempt!");

if( stripos ( $image_name, ".htaccess" ) !== false ) die("Hacking attempt!");

я понимаю проверка на расширение файла, но зачем проверку на название делать?

Ссылка на сообщение
Поделиться на других сайтах

Как по мне так это плюс больше, чем минус. Вы создайте текстовый файл с расширением txt, напишите в нем код

<?php echo "Привет мир!"; ?>[/CODE]

закиньте на сервер через ftp и запустите. Тогда все поймете.

Поэтому проверка идет не только на расширение, но и на наличие этих сочетаний букв.

Но думаю это не спасет если в имени файла нету этих сочетаний.

Ссылка на сообщение
Поделиться на других сайтах

Как по мне так это плюс больше, чем минус. Вы создайте текстовый файл с расширением txt, напишите в нем код

<?php echo "Привет мир!"; ?>
закиньте на сервер через ftp и запустите. Тогда все поймете. Поэтому проверка идет не только на расширение, но и на наличие этих сочетаний букв. Но думаю это не спасет если в имени файла нету этих сочетаний.

Forbidden


You don't have permission to access /uploads/files/codetest.txt on this server.

[/code]

Все равно логики не вижу, содержание файла не проверяется, но проверяется название. Тогда нужно менять фильтр, сделать проверку на содержания и расширение, в названии файла запустить скрипт никак не получится, а значит и опасения здесь не оправданы.

Изменено пользователем rSteLlMi
Ссылка на сообщение
Поделиться на других сайтах

/uploads/.htaccess

<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][ii]|[Pp][Ll]|[Ph][Hh][Tt][Mm][Ll])\.?">

Order allow,deny

Deny from all

</FilesMatch>

В названии файла не должно быть три буквы подряд php

Ссылка на сообщение
Поделиться на других сайтах

Все же правильнее будет сделать проверку именно расширение файла.

if( stripos ( $serverfile, ".php" ) !== false ) die("Hacking attempt!");

Изменено пользователем rSteLlMi
Ссылка на сообщение
Поделиться на других сайтах

Да кстати, тоже столкнулся с подобной проблемой, посидел потупил, понять ниче не мог. Потом просто переименовал, залил, переименовал обратно + в базе новое имя

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...