osben Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 Всем привет.Интересует мнение разработчиков. Задача: избавится от token в get запросе у рисунков, с сохранением механизма проверки от нежелательных ресайзовИдея реализации: перенести token в название файла. в результате имя файла будет примерно таким: {filename}.{width}x{height}{w}_{token}.{ext} сам token брать из строки {filename}.{width}x{height}{w}.{ext}маска регулярки выходит такой /(.+)\.([0-9]*)x([0-9]*)(w)?(_[a-f0-9]{32})\.([^\.]+)$/Надеюсь суть идеи понятно изложил.Интересует Ваше мнение, возможно у кого то есть другие идеи. п.с. просто взять и вырезать токен и его проверку это не хорошо, так как тогда даем возможность генерировать файлы без нашего ведома, тем самым забить место нашего хостинга или сервера Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 Я вообще убрал этот токен, убрал папку resize, переделал 2 функции и теперь картинки нормально обрезаются, проверка не нужна, лишнего не нарезает. Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 Идея реализации: перенести token в название файла. На форуме уже было как минимум 3 разных решения, чтобы убрать токен СОВСЕМ, но проверку сохранить. Вот это идея, которая для пользователей все упрощает.А Ваше предложение - это просто поменять шило на мыло... Хорошее общедоступное бесплатное решение:http://forum.simplacms.ru/topic/8424-%D1%83%D0%B1%D0%B8%D1%80%D0%B0%D0%B5%D0%BC-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD-%D0%B8%D0%B7-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B5%D0%BD%D0%B8%D1%8F/Хотя не полностью правильно заменяет стандартный функционал, но для подавляющего большинства пользователей годится... Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 15 ноября, 2016 Автор Жалоба Поделиться Опубликовано 15 ноября, 2016 в теории можно же захламить тебе диск - правильно ? Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 Решение от Давинчи же супер есть! Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 Решение от Давинчи же супер есть!Вовсе оно не супер, а максимум фикс. Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 Вовсе оно не супер, а максимум фикс. Может и не супер, но доступно и работает.И оно точно лучше многих самовосхваляющих постов, где заявляется, что, мол, есть и лучшее таинственное решение. Почтальон Печкин вспоминается...А для пользователя лучше синица в руках, чем журавль в небе... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 Будет свободное время будет и решение, пока что не вижу смысла бросить все и расписывать мануал. Если готов оплатить мое время - контакты в профиле. Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 как по мне, правильно было б, реализовать все так как у давинчи но с небольшой оптимизацией...Что бы settings->image_sizes задавался не в ручную, а автоматически. Для этого в ф-и add_resize_params класса Image делаем проверку.Если заданного размера нет в image_sizes - то записываем его. Таким образом мы сможем получать гет-запросом только те изображения которые прошли через add_resize_params (а это лишь те что прописаны у нас на сайте). Да со временем этих размеров может накопиться уйма. Но по мне раз в два года очистить - не проблема: $simpla->settings->image_sizes = ''; Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 как по мне, правильно было б, реализовать все так как у давинчи но с небольшой оптимизацией...Что бы settings->image_sizes задавался не в ручную, а автоматически. Для этого в ф-и add_resize_params класса Image делаем проверку.Если заданного размера нет в image_sizes - то записываем его. Таким образом мы сможем получать гет-запросом только те изображения которые прошли через add_resize_params (а это лишь те что прописаны у нас на сайте). Да со временем этих размеров может накопиться уйма. Но по мне раз в два года очистить - не проблема: $simpla->settings->image_sizes = ''; как мне кажется, достаточно трех-четырех размеров для всего сайта. просто сделать эти 4 параметра настраиваемые из админки а все остальные не пропускать Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 как мне кажется, достаточно трех-четырех размеров для всего сайта. просто сделать эти 4 параметра настраиваемые из админки а все остальные не пропускать для знающих, может оно и так. Но я часто встречаю пользователей для которых слово расширение вводит в ступор.+ данный подход проще для верстальщиков. Проще экспериментировать с размерами Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 для знающих, может оно и так. Но я часто встречаю пользователей для которых слово расширение вводит в ступор.+ данный подход проще для верстальщиков. Проще экспериментировать с размерами ну так можно сделать дофигища размеров, и верстальщики могут наделать на каждой странице их разные). можно ввести например параметр фото - small, middle, large, full и в зависимости от них отдавать картинку. а размеры этих 4х параметров задавать в админке. обычно хватает. Цитата Ссылка на сообщение Поделиться на другие сайты
ABSORBER Опубликовано 15 ноября, 2016 Жалоба Поделиться Опубликовано 15 ноября, 2016 ну так можно сделать дофигища размеров, и верстальщики могут наделать на каждой странице их разные). можно ввести например параметр фото - small, middle, large, full и в зависимости от них отдавать картинку. а размеры этих 4х параметров задавать в админке. обычно хватает.Подобно тому как это сделано в ImageCMS. Хорошая мысль, тоже как-то думал об этом. Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 ноября, 2016 Жалоба Поделиться Опубликовано 16 ноября, 2016 Имеется разработка:Адресация изображений без излишествСоздана возможность записывать URL изображений товаров без токенов - хвостов зашифрованного кода.Метод состоит в том, что список разрешенных имен файлов для ресайзинга хранится в специально созданной таблице и поэтому необходимость токенов отпадает.Дополнительно для экономии места таблица очищается от записей, сделанных ранее некоторого срока (например, 3 дня).Метод, возможно, спорный. Кто-то, вероятно, увидит в этом излишнее усложнение.Но, во всяком случае, нагрузка существенно не возрастет, так как каждая отдельная картинка обрабатывается через дополнительную таблицу лишь один раз.http://simpla-tuning.com/adresatsiya-izobrazhenij-bez-izlishestv При этом отсутствует недостаток разработки от DaVinci.Если в шаблоне новый размер ввели, то он будет обрабатываться.Если в шаблоне какой-то размер удалили, то он перестанет обрабатываться.Никаких лишних размеров (как описано #9) нигде не накапливается.Никакого лишнего контроля от пользователя (типа предложенного mishanya в #10) не требуется.Все работает автоматически... Дополнительно - работает корректно с разработками, в которых ресайзятся картинки для других сущностей - категорий, брендов и прочих. Кстати - замечание для osben-а: если у Вас такой энтузиазм, то вместо своего малополезного предложения разработали ли бы лучше настоящий полный ресайз - для всех картинок, а не только для товаров. Была бы настоящая большая польза, а не примитивное косметическое украшение... Цитата Ссылка на сообщение Поделиться на другие сайты
ABSORBER Опубликовано 16 ноября, 2016 Жалоба Поделиться Опубликовано 16 ноября, 2016 Метод, возможно, спорный. Кто-то, вероятно, увидит в этом излишнее усложнение.Но, во всяком случае, нагрузка существенно не возрастет, так как каждая отдельная картинка обрабатывается через дополнительную таблицу лишь один раз.http://simpla-tuning.com/adresatsiya-izobrazhenij-bez-izlishestvТ.е. если я открываю страницу каталога, нажимаю "показать все", у меня вываливается к примеру 800 товаров, нагрузка существенно не возрастет)? Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 ноября, 2016 Жалоба Поделиться Опубликовано 16 ноября, 2016 Т.е. если я открываю страницу каталога, нажимаю "показать все", у меня вываливается к примеру 800 товаров, нагрузка существенно не возрастет)? Если Вы - один из рядовых посетителей, то, скорее всего, все 800 картинок до Вашего посещения УЖЕ обработаны резайзом. В этом случае ВООБЩЕ не будет дополнительной нагрузки, так как ресайз при создании страницы вообще не будет задействован. Может возникнуть нагрузка, если в админке непосредственно перед Вашим посещением записали эти 800 товаров. Это максимум 800 легких дополнительных запросов. Полагаю, эта ситуация весьма редкая. Да, существенно не возрастет. Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 16 ноября, 2016 Автор Жалоба Поделиться Опубликовано 16 ноября, 2016 ой, я что то пропустил. вставлю своих 5 копеек.Считаю что DaVinci придумал очень интересно решение и лаконичное.И его в принципе можно было использовать, но все загвоздка как раз в settings->image_sizes которая приводит к лишним запросам в бд.Поэтому и хотел бы услышать идеи как выйти из этой ситуации с токенами. П.с. вариант который я предложил я понял спустили Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 16 ноября, 2016 Жалоба Поделиться Опубликовано 16 ноября, 2016 А почему бы не сделать проверку в функции ресайза на существование ресайза?И если он УЖЕ ЕСТЬ - запрашивать его без токена?А если нет - тогда вперед и с токеном? Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 ноября, 2016 Жалоба Поделиться Опубликовано 16 ноября, 2016 Считаю что DaVinci придумал очень интересно решение и лаконичное.И его в принципе можно было использовать, но все загвоздка как раз в settings->image_sizes которая приводит к лишним запросам в бд. Интересно, где Вы в решении DaVinci нашли лишние запросы? Большинству сайтов его можно и нужно использовать не в принципе, а в реальности... Если в шаблоне появится новый размер, то решение DaVinci добавит один запрос в базу по обновлению settings. Причем добавит ОДИН РАЗ у первого пользователя, который откроет одну из картинок этого нового размера, а дальше никаких дополнительных запросов не будет даже при открытии других картинок любыми посетителями... Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 ноября, 2016 Жалоба Поделиться Опубликовано 16 ноября, 2016 А почему бы не сделать проверку в функции ресайза на существование ресайза?И если он УЖЕ ЕСТЬ - запрашивать его без токена?А если нет - тогда вперед и с токеном? Видимо, из-за этого:http://forum.simplacms.ru/topic/1506-как-избавиться-от-подобных-окончаний-0d94d4f282e8b4ff474e96beb50e18d6-на-к/?p=15764 Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 16 ноября, 2016 Жалоба Поделиться Опубликовано 16 ноября, 2016 А почему бы не сделать проверку в функции ресайза на существование ресайза? И если он УЖЕ ЕСТЬ - запрашивать его без токена? А если нет - тогда вперед и с токеном?Проверка на токен вообще не нужна, вы все не в том направлении мыслите. Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 ноября, 2016 Жалоба Поделиться Опубликовано 16 ноября, 2016 Проверка на токен вообще не нужна, вы все не в том направлении мыслите. Я вам посылку принёс, только я вам её не отдам, потому как у вас документов нету. Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 16 ноября, 2016 Жалоба Поделиться Опубликовано 16 ноября, 2016 Корс, неужели ТЕБЕ это не нравится???Это же твоя любимая фишка? Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 16 ноября, 2016 Автор Жалоба Поделиться Опубликовано 16 ноября, 2016 Проверка на токен вообще не нужна, вы все не в том направлении мыслите.Не совсем согласен.Без нее было бы проще, но с ней безопаснее. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 16 ноября, 2016 Жалоба Поделиться Опубликовано 16 ноября, 2016 Не совсем согласен. Без нее было бы проще, но с ней безопаснее.Если переделать немного функционал ресайза, то в целях безопасности токен становится не нужным. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.