PHP cкрипт загрузки файлов на сервер. Как избежать уязвимости скрипта ?

1 23
SE
На сайте с 11.02.2007
Offline
13
#21
edogs:
В общем Вы уже начитались "достойной" литературы, заранее знаете все ответы, а сюда пришли пофлудить?

Умные мысли думал получить... у вы...

edogs:
Вы до сих пор не предьявили требования к фильтру, за все 2 страницы. Писать фильтр не зная что он должен делать это как минимум странно.

Для тех кто в каске повторяю пропускаем только картинки( jpg, gif, и.тд.)

edogs:
Мы дали Вам информацию - сможете - воспользуетесь ей, не сможете - не воспользуетесь.

Вода водянистая а мосло масленное...

edogs, Спасибо за помошь в дибатах....

P.S Одной проверки мало..

Обмен ссылками Авто-Мото, Пишу PHP скрипты любой сложности, Продажа Запчастей на Японские Авто и Спецтехнику
edogs software
На сайте с 15.12.2005
Offline
775
#22
S.E.O:
Для тех кто в каске повторяю пропускаем только картинки( jpg, gif, и.тд.)

Извините, пропустили.

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

И перед записью файла на диск - сделайте фильтрацию имени в обязательном порядке на недопустимые символы. Русские лучше вообще в транслит перегнать, что бы потом проблем с некоторыми буквами не иметь под юниксом. В идеале - лучше вообще удалить все символы кроме строго допустимых.

Расширение тоже надо проверять, но лучше не той функцией (strrchr) что у Вас в примере, так как она будет проверять только то, что идет после последней точки. Ибо в общем случае, файлы например script.php.mmf вполне могут обрабатываться интерпретатором php (да, мы понимаем что по проверке jpeg это не пройдет, но мы в принципе о возможности двойных расширений - лучше перестраховаться). И даже если файл картинка - ничего хорошего в запуске интерпретатора для нее нету.

Поэтому лучше strchr или опять же - фильтрация имени файла на предмет точек после отброса расширения.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
SE
На сайте с 11.02.2007
Offline
13
#23
edogs:
getimagesize,

черевато на некоторых версиях PHP

забыли упомянуть про формат GIF..

edogs:
Расширение тоже надо проверять, но лучше не той функцией (strrchr)

Это только 1-й фильтр..

edogs software
На сайте с 15.12.2005
Offline
775
#24
S.E.O:
черевато на некоторых версиях PHP

Не надо экономить на хостинге. Другого нормального способа проверить картинка ли у Вас - нет.

S.E.O:
забыли упомянуть про формат GIF..

getimagesize поддерживает gif формат... на нормальных хостерах.

SE
На сайте с 11.02.2007
Offline
13
#25
edogs:
Не надо экономить на хостинге. Другого нормального способа проверить картинка ли у Вас - нет.

Сервак зависнуть может напрочь :)

edogs:
getimagesize поддерживает gif формат... на нормальных хостерах.

Я не про то вообще...если вы этого не знаете ...то я лучше промолчу..

edogs software
На сайте с 15.12.2005
Offline
775
#26
S.E.O:
Сервак зависнуть может напрочь :)

Мы говорили про нормальных хостеров.

S.E.O:
Я не про то вообще...если вы этого не знаете ...то я лучше промолчу..

Да уж, лучше бы Вы промолчали, чем в телепатию играть.

За сим разрешаем себе откланяться.

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

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий