polym0rph Опубликовано 23 декабря, 2014 Поделиться Опубликовано 23 декабря, 2014 Приветствую! Если ли решение для такой задачи: Если юзер загружает в сообщение изображение с внешнего сайта, нужно чтобы это изображение закачивалось на мой сервер, и отдавалось на форуме уже с моего сервера и никак не зависло от внешнего? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Respected Опубликовано 24 декабря, 2014 Поделиться Опубликовано 24 декабря, 2014 Добрый день. >Inline Image Uploader for IP.Board 3.x 1.0.0 Других возможностей нет. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
LvsF Опубликовано 24 декабря, 2014 Поделиться Опубликовано 24 декабря, 2014 Других возможностей нет. Есть community.invisionpower.com/files/file/7188-dp34-download-images/ polym0rph 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
polym0rph Опубликовано 9 июля, 2015 Автор Поделиться Опубликовано 9 июля, 2015 community.invisionpower.com/files/file/7188-dp34-download-images/ Спасибо! Купил, развернул на тестовом форуме. Вроде все развернулось, тестовая картинка загрузилась успешно. Увидел, что имя файла не изменяется. Решил проверить на простейший баг - загрузил с другого сайта другое изображение, но с таким же именем. Ну и да, изображение в папке было перезаписано новым. То есть злоумышленник может напакостить, подменяя изображения в чужих постах, загружая в свои посты изображения с тем же именем. Как такой эпик фэйл можно было допустить при разработке я не очень понимаю. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
polym0rph Опубликовано 10 июля, 2015 Автор Поделиться Опубликовано 10 июля, 2015 Я вот ни разу не программист, но решил посмотреть, что можно сделать. В файле нашел место, где генерируется имя. Нагуглил, что в PHP случайное число можно получить функцией rand(). В итоге заменил $imageFull = $imageName . '.' . $imageExt; на $imageFull = $imageName . '_' . rand() . '.' . $imageExt; теперь при записи к файлу добавляется случайное число и перезаписи не происходит. Конечно, костыль, но работает. Больше беспокоит, что если там такие очевидные косяки, не нарвусь ли я с этим модом еще кна какие-нибудь грабли. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AUS Опубликовано 10 июля, 2015 Поделиться Опубликовано 10 июля, 2015 @polym0rph вы автору написали об этом баге? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
LvsF Опубликовано 10 июля, 2015 Поделиться Опубликовано 10 июля, 2015 (изменено) В файле нашел место, где генерируется имя. Нагуглил, что в PHP случайное число можно получить функцией rand(). В итоге заменил Вместо rand() используйте лучше что-нибудь типа md5( uniqid( microtime(), true ) ) Изменено 10 июля, 2015 пользователем LvsF Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
polym0rph Опубликовано 10 июля, 2015 Автор Поделиться Опубликовано 10 июля, 2015 @polym0rph вы автору написали об этом баге? Да, на странице приложения invisionpower.com, чтобы заодно и пользователей предупредить. Но сообщение еще пока не прошло местную модерацию. Я так подумал, можно на форуме, которую такую штуку использует, пройтись парсером, собрать все имена картинок, и скриптом их все заменить, подгружая какую-то одну, изменяя ее имя. Неприятно очень будет для форума. Вместо rand() используйте лучше что-нибудь типа md5( uniqid( microtime(), true ) Спасибо! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
LvsF Опубликовано 10 июля, 2015 Поделиться Опубликовано 10 июля, 2015 Да, на странице приложения invisionpower.com, чтобы заодно и пользователей предупредить. Но сообщение еще пока не прошло местную модерацию. Можете в теме поддержки файла написать. Там премодерации нет. Я так подумал, можно на форуме, которую такую штуку использует, пройтись парсером, собрать все имена картинок, и скриптом их все заменить, подгружая какую-то одну, изменяя ее имя. Неприятно очень будет для форума. Не понял. Судя по скриншоту, в приложении есть инструмент для этого. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
polym0rph Опубликовано 10 июля, 2015 Автор Поделиться Опубликовано 10 июля, 2015 Можете в теме поддержки файла написать. Там премодерации нет. Не понял. Судя по скриншоту, в приложении есть инструмент для этого. 1. Да, там тоже написал. 2. Это скорее сценарий для атаки, как форуму навредить, где такой мод есть. Кстати, внутренним инструментом пробовал заменять, постоянно на тестовом сервере вываливается, даже при 5 элементах в очереди, вместо дефолтных 50. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
polym0rph Опубликовано 10 июля, 2015 Автор Поделиться Опубликовано 10 июля, 2015 md5( uniqid( microtime(), true ) не хочет, в логах PHP Parse error: syntax error, unexpected ';' Покурил мануалы, остановился на md5(uniqid(rand(),1)) так все работает. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
LvsF Опубликовано 10 июля, 2015 Поделиться Опубликовано 10 июля, 2015 не хочет, в логах PHP Parse error: syntax error, unexpected ';' Покурил мануалы, остановился на md5(uniqid(rand(),1)) так все работает. Закрывающая скобка похерена была. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.