Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка 403

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Itan
Отправлено: 19 Октября, 2011 - 17:28:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Здравствуйте!

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

Есть скрипт в папке /profile/, он загружает картинку-аватар в папку /avatars/. Картинка загружается, перемещается в указанную папку. Но при попытке открыть её в браузере, например, site.ru/avatars/1.jpg - пишет "Ошибка 403 - недостаточно прав". А на папку avatars стоят права 0755. Причем, если я загружаю файл через FTP клиент, то в браузере открывается файл нормально, а если через скрипт (через форму загрузки файлов, которая находится в папке /profile/) - 403 ошибка. Помогите, пожалуйста. Спасибо!
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Октября, 2011 - 17:43:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Странные хостеры.
Аписнить бы должны были.
Вам надо поставить на эту папку рекурсивно (т.е. и для вложенных) права 0777.
А в скрипте (я так понимаю пых выполняется от другого юзера) обязательно дописать строчки,
которые будут ставить права на загружаемые картинки.
 
 Top
Itan
Отправлено: 19 Октября, 2011 - 17:57:22
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Там такая штука: есть html-форма загрузки файла. Скрипт-обработчик проверяет миме-тип и расширение у файла (картинки). Затем через move_upload_file сохраняет загруженный файл в папку /avatars/. Все ниче, только при попытке открыть его возникает ошибка 403. У папки с аватарами права 0755. А если загружаю через ФАР-менеджер в эту папку, то через браузер открывается норм.

Пробовал поставить строчки отображения ошибок ini_set('display_errors',1); error_reporting(E_ALL);

Никаких ерроров. Странно. Пробую поставить права 0777 - все равно 403... А от саппорта хостинга я такого не ожидал. Вообще подстава. Это хостинг hc.ru.

А как поменять права на загруженные картинки? Скорее всего, в этом проблема.
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Октября, 2011 - 18:05:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Я написал что нужно сделать.
 
 Top
Itan
Отправлено: 19 Октября, 2011 - 18:29:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. $uploadfile = $_SERVER['DOCUMENT_ROOT'].'avatars/'.$user_id.$image_type;
  2. move_uploaded_file($_FILES['avatar']['tmp_name'], $uploadfile);
  3. chmod($uploadfile,0666);


Работает. Спасибо!
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Октября, 2011 - 18:42:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Itan пишет:
chmod($uploadfile,0666);
Неее
 
 Top
Itan
Отправлено: 19 Октября, 2011 - 18:55:35
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Дак на картинку зачем 755. 666 разве мало?
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Октября, 2011 - 19:02:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Сатанист Радость
 
 Top
Itan
Отправлено: 19 Октября, 2011 - 19:05:11
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Да не в этом дело Улыбка Не, ну я серьезно спросил. Или 644 ща попробую, если заработает. Мне бы еще как-то прописать в .htaccess, чтобы запретить выполнение скриптов в папке /avatars/. Не знаете как?
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Октября, 2011 - 19:07:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Ну просто 755 ставится обычно, т.к. рекурсивно, чтобы и скрипты какраз разрешить к выполнению.
Itan пишет:
запретить выполнение скриптов в папке /avatars/
а они там будут/есть, а что они там делают?
 
 Top
Itan
Отправлено: 19 Октября, 2011 - 19:12:48
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Ну миме-тип подделать можно. Расширение тоже. Вдруг мне зальют туда php скрипт под видом картинки. В настройках сервера, конечно, нет такого, чтобы картинки выполнять как скрипты, но на всякий случай.
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Октября, 2011 - 19:15:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




exif_imagetype
 
 Top
Champion Супермодератор
Отправлено: 19 Октября, 2011 - 19:19:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Блин, HTTP ответ 403 никакого отношения к chmod и к правам файловой системы не имеет. Вы о чем?
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Октября, 2011 - 19:21:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Champion пишет:
ответ 403
= Permission denied
Champion пишет:
никакого отношения к chmod
Ой ли???
 
 Top
Champion Супермодератор
Отправлено: 19 Октября, 2011 - 19:25:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Itan пишет:
Вдруг мне зальют туда php скрипт под видом картинки.
У вас есть набор расширений, в файлах которых можно выполнять php. Проверьте, чтобы картинка не была ни в одном из этих расширений - и всё.
Вот такие строки в конфигах апача или htaccess
AddType application/x-httpd-php .php
говорят о том, в каких файлах будет выполняться php.

А по поводу 403 ошибка - вы ее получаете потому что доступ в тот каталог через http запрещен. Либо там лежит htaccess со строкой deny from all, либо denu from all написан еще где-то (в htaccess в папках уровнем выше, например)
(Добавление)
DeepVarvar пишет:
ответ 403
= Permission denied
Champion пишет:
никакого отношения к chmod
Ой ли???
Еще раз говорю: 403 - это код ответа http. Да, лон означает permission denied. Но это другой permission denied - httpшный, который прописывается директивами веб сервера.
Закрытый доступ на работу с файлами приводит к другим ошибкам
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB