Вывести аватар по прямому урлу
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 2.0.1
- Сообщения: 293
- Стаж: 11 лет 11 месяцев
- Благодарил (а): 88 раз
- Поблагодарили: 11 раз
Вывести аватар по прямому урлу
Всем привет.
Пользовательские авараты лежат в папке /images/avatars/upload/ и имеют стремные названия, из серии 2ae4f5f63e37f45d9de551aeb203db7a_191.jpg, где 191 - это ID пользователя в базе.
Подскажите пожалуйста:
1. Есть ли возможно упростить названия файлов с аватарками по типу <ID>.<Расширение_файла>
2. Подтянуть в шаблон аватарку по прямому урлу, из серии site.ru/images/avatars/upload/191.jpg
Спасибо.
P.S. И чисто из любопытства, зачем в именах файлов прописывается это мракобесие "2ae4f5f63e37f45d9de551aeb203db7a_"? Неужели из коробки было сложно просто оставить ID, ведь на проекте не может быть 2х пользователей с одним ID и так же не может быть у пользователя более 1 аватара.
Выговорился )))
Пользовательские авараты лежат в папке /images/avatars/upload/ и имеют стремные названия, из серии 2ae4f5f63e37f45d9de551aeb203db7a_191.jpg, где 191 - это ID пользователя в базе.
Подскажите пожалуйста:
1. Есть ли возможно упростить названия файлов с аватарками по типу <ID>.<Расширение_файла>
2. Подтянуть в шаблон аватарку по прямому урлу, из серии site.ru/images/avatars/upload/191.jpg
Спасибо.
P.S. И чисто из любопытства, зачем в именах файлов прописывается это мракобесие "2ae4f5f63e37f45d9de551aeb203db7a_"? Неужели из коробки было сложно просто оставить ID, ведь на проекте не может быть 2х пользователей с одним ID и так же не может быть у пользователя более 1 аватара.
Выговорился )))
-
- Поддержка
- Сообщения: 3336
- Стаж: 16 лет 1 месяц
- Благодарил (а): 17 раз
- Поблагодарили: 561 раз
Re: Вывести аватар по прямому урлу
1. Бессмысленное действие.
2.
Удалить images/avatars/upload/.htaccess или соотв. строки в конфиге Nginx, если они есть (запрещающие доступ к папке с аватарами)
Открыть includes/functions.php
Найти
Добавить перед
2.
Удалить images/avatars/upload/.htaccess или соотв. строки в конфиге Nginx, если они есть (запрещающие доступ к папке с аватарами)
Открыть includes/functions.php
Найти
Код: Выделить всё
if ($lazy)
Код: Выделить всё
if ($row['avatar_type'] == 'avatar.driver.upload') {
$ext = substr(strrchr($row['avatar'], '.'), 1);
$stamp = (int) substr(stristr($row['avatar'], '_'), 1);
$filename = strtok($row['avatar'], '_');
$avatar_data['src'] = "{$user->page['root_script_path']}images/avatars/upload/{$config['avatar_salt']}_$filename.$ext?$stamp";
}
-
- phpBB 2.0.1
- Сообщения: 293
- Стаж: 11 лет 11 месяцев
- Благодарил (а): 88 раз
- Поблагодарили: 11 раз
Re: Вывести аватар по прямому урлу
Nekstati,
1. Почему бессмысленное ? Зная ID пользователя можно просто условием "if ... to ... else" вывести аватарку, просто сравнивая ID пользователя и имя аватары
2. Без правок ядра я так понимаю никак ?
1. Почему бессмысленное ? Зная ID пользователя можно просто условием "if ... to ... else" вывести аватарку, просто сравнивая ID пользователя и имя аватары
2. Без правок ядра я так понимаю никак ?
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Вывести аватар по прямому урлу
Обычно там, где есть id, бывают и аватары, за редким исключениемAlexOo писал(а): 19.02.2024 2:06 Зная ID пользователя можно просто условием "if ... to ... else" вывести аватарку, просто сравнивая ID пользователя и имя аватары
-
- phpBB 2.0.1
- Сообщения: 293
- Стаж: 11 лет 11 месяцев
- Благодарил (а): 88 раз
- Поблагодарили: 11 раз
Re: Вывести аватар по прямому урлу
Татьяна5, давайте возьмем для примера ваш аватар на данном проекте. Он открывается по адресу
/download/file.php?avatar=38225_1392640473.gif
Если посмотреть оригинальное имя в папке /images/avatars/upload/, то там вероятнее всего будет что-то из серии
ae4f5f63e37f45d9de551aeb203db7a_38225.gif
Так зачем усложнять, если можно его вывести по адресу
/images/avatars/upload/38225.gif
Я просто не очень улавливаю логику. Возможно сможете пролить свет на все это добро ...
/download/file.php?avatar=38225_1392640473.gif
Если посмотреть оригинальное имя в папке /images/avatars/upload/, то там вероятнее всего будет что-то из серии
ae4f5f63e37f45d9de551aeb203db7a_38225.gif
Так зачем усложнять, если можно его вывести по адресу
/images/avatars/upload/38225.gif
Я просто не очень улавливаю логику. Возможно сможете пролить свет на все это добро ...
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Вывести аватар по прямому урлу
Для безопасности
Сейчас известных уязвимостей нет, но нельзя исключить, что появится новая, и что встроена она будет в картинку (как уже не раз было). Без прямого доступа к файлам в том случае загруженный файл всё равно запустить не удастся, а описанный подход требует открытия именно прямого доступа
-
- phpBB 2.0.1
- Сообщения: 293
- Стаж: 11 лет 11 месяцев
- Благодарил (а): 88 раз
- Поблагодарили: 11 раз
Re: Вывести аватар по прямому урлу
Убедили. Но не проще ли этот вопрос решать в моменте загрузки авы на сервер, чтобы не городить подобный огород ?
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Вывести аватар по прямому урлу
AlexOo, он и решается в том моменте. Работает против известных подходов. А против неизвестных?
-
- Поддержка
- Сообщения: 3336
- Стаж: 16 лет 1 месяц
- Благодарил (а): 17 раз
- Поблагодарили: 561 раз
Re: Вывести аватар по прямому урлу
А чего все их так боятся? Это же не ядро ОС, которое потом надо компилировать с 100-й попытки.
Если хотите, пишите расширение, там есть подходящий event.
А меня не убедили. Весь мир (Wordpress, например) отдаёт файло по прямым ссылкам и не парится, а здесь какая-то абстрактная перестраховка. Которая, между прочим, жрёт ресурсы. Каждая аватара дёргает всю машинерию форума с базой данных, расширениями и т.д.
-
- phpBB 2.0.0
- Сообщения: 232
- Стаж: 2 года 7 месяцев
- Откуда: Сибирь
- Благодарил (а): 64 раза
- Поблагодарили: 66 раз
Re: Вывести аватар по прямому урлу
Именно поэтому у phpBB нет известных уязвимостей, не так ли?Nekstati писал(а): 19.02.2024 4:10 Весь мир (Wordpress, например) отдаёт файло по прямым ссылкам и не парится, а здесь какая-то абстрактная перестраховка.
Отправлено спустя 2 минуты 56 секунд:
Весьма странно слышать про правки ядра от "Поддержки" о_О
[phpBB 3.3.8 | Prolight | STK 1.0.19-dev] _ [PHP 7.4.28 | MySQL(i) 5.7.27-30]
-
- Поддержка
- Сообщения: 3336
- Стаж: 16 лет 1 месяц
- Благодарил (а): 17 раз
- Поблагодарили: 561 раз
Re: Вывести аватар по прямому урлу
ReXtor, если поддержка в вашем представлении состоит в том, чтобы на каждый чих писать новое расширение, то никакая поддержка писать его, разумеется, не будет. Писать его будет сам пользователь. Ну или платить писателю. Поддержка тогда лишается всякого смысла - готовые расширения можно искать через Гугл, а новые заказывать на биржах.
-
- phpBB 2.0.0
- Сообщения: 232
- Стаж: 2 года 7 месяцев
- Откуда: Сибирь
- Благодарил (а): 64 раза
- Поблагодарили: 66 раз
Re: Вывести аватар по прямому урлу
На каждый чих лезть в ядро - тоже такое себе. Загоняем сами себя в угол ведь. Вроде уже проходили проблему "ручных" правок в прошлых версиях с модами...
[phpBB 3.3.8 | Prolight | STK 1.0.19-dev] _ [PHP 7.4.28 | MySQL(i) 5.7.27-30]
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Вывести аватар по прямому урлу
Взламывается даже мимопроходящими школьниками. Сама была тому свидетелем
-
- phpBB 3.1.0 RC3
- Сообщения: 3343
- Стаж: 13 лет 3 месяца
- Благодарил (а): 675 раз
- Поблагодарили: 164 раза
-
- phpBB 2.0.4
- Сообщения: 401
- Стаж: 13 лет 3 месяца
- Откуда: Липецк
- Благодарил (а): 111 раз
- Поблагодарили: 47 раз
Re: Вывести аватар по прямому урлу
Ну тут вопрос стоит совсем иначе. Сайт на много важнее. Это публичная деятельность. Где если подменят платёжную систему на сайте или более того получат доступ к личным данным пользователей, мало не покажется. Ядро операционной системы покажется детским лепетом.Nekstati писал(а): 19.02.2024 4:10 А чего все их так боятся? Это же не ядро ОС, которое потом надо компилировать с 100-й попытки.
Именно поэтому уже столько лет дружу с PHPBB.Татьяна5 писал(а): 19.02.2024 5:29 Взламывается даже мимопроходящими школьниками. Сама была тому свидетелем
+100500